为什么我的服务器要进行交换?

为什么我的服务器要进行交换?

Munin 显示内存大部分时间处于闲置状态。但交换仍然发生。实际上交换相当频繁,导致硬盘驱动器陷入瘫痪。

在此处输入图片描述

或者我看内存图的方式有误?我该如何诊断此类问题?

答案1

好的,那么让我们更详细地看一下。

从你的图片中,我发现你的服务器在一天中的某些时刻会报告一些页面被换出。

内存页大小为 4KiB。也就是 4096 字节。我在你的图表中看到每秒交换出的最大页面数量是 2。也就是每秒 8192 字节,大概持续 10 到 15 分钟。你的硬盘可以处理这个。真的。这是不是使你的硬盘驱动器变得很慢。如果是这样,你真的需要另一个驱动器。即使是简单的硬盘驱动器通常也能每秒处理几十兆字节。

现在,至于为什么您的服务器正在交换:对于运行时间较长的 Linux 系统来说,使用一些交换空间是很正常的。只有很少访问的页面才会被交换出去,发生这种情况时您不会注意到任何负面影响。

再次,就你的情况而言,只有几兆字节被用作交换。我无法将图表中的白色部分与发生的微小交换量联系起来。你在寻找这个吗?

答案2

有时即使有足够的 RAM,Linux 也会进行交换,如果这导致了问题,你可以

A)降低 swappiness 值

b) 减小交换分区的大小或完全删除它。(我个人喜欢使用非常小的交换分区,许多系统管理员不喜欢使用任何交换分区,这取决于哪种故障(oom 还是 swapping)对您来说更糟糕)。

相关内容