Debian 会在凌晨 0 点清除其内存吗?

Debian 会在凌晨 0 点清除其内存吗?

介绍
我的服务器运行在 Debian 上,我想两天前它内存不足了,因为它变得非常慢。每次都慢一点。连续两次它不知何故在凌晨 0 点再次开始响应。

所以我的问题是
Debian 会在凌晨 0 点清除内存吗?还是内存之外的其他东西?我该如何轻松解决这个问题?通过增加交换空间?

答案1

安装 sysstat(如果尚未安装)。这将提供系统资源的历史统计数据。

然后,您可以sar -r每隔五分钟运行一次以查看内存使用情况。滚动回到您提到的时间左右,然后实际查看所涉及的数字。

答案2

补充其他答案:

/etc/crontab在文件夹中查找在/etc/cron.d该时间前后运行的任何 cron 作业。(请参阅了解man cron此文件的工作原理)。还有其他文件夹(cron./monthly/weekly/dailyhourly)包含在这些间隔内运行的作业,但可能只cron.hourly包含将在午夜运行的作业,并且在标准 Debian 配置中通常为空。

另一种可能性是午夜事件只是巧合,Debian 的内存不足,内核调用了oom_killer关联),它会尝试通过基于评分系统终止进程来保持自身存活。但是,如果是这种情况,您可能会注意到您的服务未运行。 dmesg将记录自您启动操作系统以来调用 oom_killer 的任何时间点。(/var/log/kern.log将有较旧的版本)

不过要明确一点。Debian(或任何 Linux)本身并没有什么可以清除内存。RAM 可以是空闲的,Linux 通常将其用作文件系统的缓存,直到有需要时为止,也可以分配给某个进程。

答案3

你用过 top 或 htop 吗?在那里你可以看到发生了什么。

查看凌晨 0 点之前和之后的 0 点 ;)。然后您可以查看是否有东西清理了您的内存。但我不这么认为,也许是清理了缓存,但只有当 RAM 足够时,他才会缓存文件。

当您的服务器进入交换状态时,您需要更多的 RAM 或更少的运行进程。

相关内容