Linux 缓存缩小的解释?

Linux 缓存缩小的解释?

我们有一台 Linux 服务器,Cacti 的内存使用图表报告称缓存大小不断减少,直到服务器最终耗尽内存。空闲内存始终保持在较低水平,这对于 Linux 而言是正常现象。我预计缓存大小会随着时间的推移大致保持不变,我正在尝试思考这可能是怎么回事。

我认为内核内存泄漏不太可能是一个问题。

我还看到了这一点,它表明保存到 tmpfs 文件系统是可能的:

在 Linux 中,free 命令报告的“buffers”和“cache”有什么区别?

还有什么我应该看看的吗?

答案1

假设您的可用内存和缓冲区保持不变,缓存的减少只是意味着系统上的一些进程被判断为更需要它(用技术术语来说,系统上运行的进程的内存页面的“工作集”变得更大,因此内核需要在主内存中保留更多的页面)。

答案2

Womble 所说的关于缓存管理方式的说法是正确的,但这并不排除内存泄漏的可能性。因此,请密切关注哪些进程似乎正在增加其内存使用量。一旦您确定了可疑进程,您就必须确定这是否是正常行为,在这种情况下,它可能是可调行为,或者是内存泄漏。

MySQL 等服务具有可调的 RAM 数量,用于缓存。可能只是您的系统将此数量设置得太高,导致 MySQL 缓存过于激进。如果是这种情况,降低此数量可能会导致性能下降,您需要考虑在服务器中增加 RAM。

相关内容