介绍
我的服务器在Debian上运行,我想两天前它已经不能用了,因为它变得非常慢。 每次都慢一点 在连续两次,它以某种方式开始在上午0.00时再次作出响应。
所以我的问题是
在上午0.00时,Debian是否清除内存? 或者是内存以外的东西? 我怎样才能轻松解决这个问题? 通过增加交换?
安装sysstat(如果它尚未安装)。 这给出了系统资源的历史数据。
然后,您可以运行sar -r以五分钟的间隔查看内存使用情况。 回滚到你提到的时间,实际上看到涉及的数字。
要添加到其他答案:
查看/etc/crontab文件夹和/etc/cron.d文件夹,查看当时运行的任何cron作业。 (请参阅man cron了解这个文件是如何工作的)。 还有其他的文件夹( cron./monthly/weekly/dailyhourly )包含以这些间隔运行的作业,但是可能只有cron.hourly才会有任何将在午夜运行的东西,而这在标准的Debianconfiguration中通常是空的。
另一种可能性是,午夜的事情是一个巧合,而Debian的内存运行如此之低以至于内核调用了oom_killer ( Link ),从而通过基于评分系统的进程来杀死进程,从而保持自己的活力。 但是,如果是这样的话,你可能已经注意到你的服务没有运行。 dmesg会logging你启动操作系统后调用oom_killer的任何点。 ( /var/log/kern.log将有较旧的)
但要清楚。 在Debian(或任何Linux)中,没有什么能够清除内存。 RAM是免费的,Linux通常将它用作文件系统的caching,直到需要它或分配给进程。
你用过top还是htop? 在那里你可以看到发生了什么。
在0.00AM之前,然后在他们之后;)。 那么你可以看看有没有什么清理你的记忆。 但是我不这么认为,或许清理他的caching,但是当他有足够的内存时,他只caching文件。
当你的服务器进入交换时,你需要更多的RAM或更less的运行进程。