每天早上6点左右,EC2实例的空闲内存突然下降

自从我在AWS上build立一个服务器后,我几个月来一直注意到,我的实例几乎每天都会在UTC时间上午6点左右的正常时间突然降低空闲内存。 这是一个t2.nano实例,绰绰有余我的需要。 当时没有不正常的活动,通常没有连接到服务器(这是一个适度的个人网站)。 我创build了一个监视Python脚本的服务器来logging这个,并在内存下降时重新启动服务器:

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 ) 

看起来很熟悉,对(从你find的系统日志消息)? 现在,看看那个目录中的文件。

 $ ls /etc/cron.daily apport apt aptitude bsdmainutils dpkg logrotate man-db mlocate ntp popularity-contest update-notifier-common upstart 

这些脚本中的每一个都是一个接一个地运行,每天从06:25开始,无论服务器在什么时间configuration使用,基本上每个Ubuntu的机器上都是这样。 可能有例外,但我从来没有使用任何其他Linux的disto没有非常相似的东西。

如你所知,t2.nano机器只有512Mb的内存,这对于现代的64位操作系统来说是一个非常小的内存。 但是,正如你所提到的,它们对于很多事情来说仍然是完美的。 您可能需要添加一些交换空间,并可能使您的监控不太积极,因为这些是标准组件,除非您对所做的事情有充分的了解,否则我build议不要修改或禁用它。