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

Другие вопросы по тегам