В течение нескольких месяцев, в значительной степени с тех пор, как я установил сервер на AWS, я заметил, что в моем экземпляре происходит внезапное падение свободной памяти в обычное время, примерно в 6 утра по всемирному координированному времени, почти каждый день. Это экземпляр 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, поэтому я не могу их об этом спросить.
Я удивлен, что таких отчетов больше нет.
Это может быть потому, что это нормальное ожидаемое поведение ... но это никак не связано с 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-разрядной ОС. Но, как вы упомянули, они по-прежнему идеальны для многих вещей. Возможно, вы захотите добавить немного места для подкачки и потенциально сделать ваш мониторинг немного менее агрессивным, потому что это стандартные компоненты, с которыми я бы посоветовал не возиться или отключать, если у вас нет твердого понимания того, что вы делаете.