Внезапное падение свободной памяти на экземпляре EC2 примерно в 6 часов утра ежедневно
В течение нескольких месяцев, почти с тех пор, как я настроил сервер на AWS, я замечал, что мой экземпляр испытывает внезапное падение свободной памяти в обычное время, около 6:00 UTC, почти каждый день. Это экземпляр t2.nano, более чем достаточный для моих нужд. В это время нет никакой необычной активности, обычно нет никаких соединений с сервером (это скромный персональный сайт). Я создал сервер, наблюдающий скрипт Python, чтобы записать это и перезапустить сервер, когда память падает:
2016-12-08 06:14:30,971 - AWS_Server_Watcher - INFO: Free memory: 280 MB
2016-12-08 06:16:31,096 - AWS_Server_Watcher - INFO: Free memory: 280 MB
2016-12-08 06:18:31,231 - AWS_Server_Watcher - INFO: Free memory: 280 MB
2016-12-08 06:20:31,365 - AWS_Server_Watcher - INFO: Free memory: 280 MB
2016-12-08 06:22:31,499 - AWS_Server_Watcher - INFO: Free memory: 280 MB
2016-12-08 06:24:31,634 - AWS_Server_Watcher - INFO: Free memory: 280 MB
2016-12-08 06:26:31,822 - AWS_Server_Watcher - INFO: Free memory: 44 MB
2016-12-08 06:26:31,822 - AWS_Server_Watcher - INFO: Server restarted
2016-12-08 06:27:09,751 - AWS_Server_Watcher - INFO: Server Watcher starting up
2016-12-08 06:29:09,905 - AWS_Server_Watcher - INFO: Free memory: 281 MB
2016-12-08 06:31:10,058 - AWS_Server_Watcher - INFO: Free memory: 281 MB
2016-12-08 06:33:10,209 - AWS_Server_Watcher - INFO: Free memory: 281 MB
Кто-нибудь знает, что происходит? Я подозреваю, что это как-то связано с инфраструктурой EC2, вне моего контроля. Но я не подписан на платный план поддержки с AWS, поэтому я не могу спросить их об этом.
1 ответ
Я удивлен, что таких отчетов больше нет, как у меня.
Это может быть потому, что это нормальное, ожидаемое поведение... но это никак не связано с AWS.
Это сама установленная серверная ОС, выполняющая плановое ежедневное обслуживание / фоновые работы.
Ты на самом деле был очень близок, прежде чем прекратил расследование.
В файле /etc/crontab
вы найдете это:
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
Выглядит знакомо, правда (из сообщения системного журнала, которое вы нашли)? Теперь взгляните на файлы в этом каталоге.
$ ls /etc/cron.daily
apport apt aptitude bsdmainutils dpkg logrotate man-db mlocate
ntp popularity-contest update-notifier-common upstart
Каждый из этих сценариев запускается один за другим, каждый день, начиная с 06:25 в любом часовом поясе, который сервер сконфигурирован для использования практически на любом стандартном компьютере с Ubuntu, везде. Могут быть исключения, но я никогда не использовал другой дистрибутив Linux, в котором не было ничего похожего.
Как вы знаете, машины t2.nano имеют только 512 МБ памяти, что очень мало для современной 64-битной ОС. Но, как вы упомянули, они по-прежнему идеально подходят для многих вещей. Возможно, вы захотите добавить некоторое пространство подкачки и потенциально сделать свой мониторинг немного менее агрессивным, потому что это стандартные компоненты, которые я бы посоветовал не использовать или отключать, если у вас нет четкого понимания того, что вы делаете.