top 和 htop 在内存使用情况上存在分歧,但 GlusterFS 服务器上正在使用交换。这可以改进吗?

top 和 htop 在内存使用情况上存在分歧,但 GlusterFS 服务器上正在使用交换。这可以改进吗?

如果我运行free -mtophtop我会得到不同的内存使用情况。系统还使用了少量交换空间。我了解到这个问题为什么它们报告不同的值(一些数据被认为是“可丢弃的”,因此一个系统包含而另一个系统不包含),但系统为什么决定使用交换?它是运行最新版本(3.4.3)的 GlusterFS 服务器。

有谁知道为什么它使用交换而不是从物理内存中清除“可丢弃”数据并使用它?

我能/应该做些什么吗,或者我应该只改变监控系统而不用担心少量的交换使用?

免费-m:

自由的

顶部:

顶部

htop:

顶部

感谢您的帮助。

答案1

我根本不担心小的交换使用量。内核会将一些数据从内存中删除到交换中。您可以使用交换性选项:

echo 60 > /proc/sys/vm/swappiness

此控制用于定义内核交换内存页面的积极程度。值越高,交换积极程度越高;值越低,交换量越少。值为 0 表示内核在可用页面和文件支持页面的数量低于区域中的高水位标记之前不启动交换。默认值为 60。

您可以在内核文档

答案2

free您观察到的内存使用量在和top之间是相同的htop。让我们从top视图中计算一下:

8171728-(341276+2195864+4061972) / 1024 = 1535

这实际上与您在 中获得的相匹配htop

另外,当您将top值从 KB 转换为 MB 时,您会发现free值也匹配。

您所担心的交换使用情况可能只是一些无聊的守护进程被交换到磁盘,不用担心。

相关内容