为什么空闲服务器上的RAM使用率如此之高?

我正在研究用于科学数据分析的服务器。 它正在运行RHEL 6.4它有近200GB的RAM。 用户通过SSH运行的速度非常缓慢,经过一番探索之后,我很快注意到内存的使用率非常高。 奇怪的是,即使在闲置状态下,它仍然使用大量的RAM:

在这里输入图像说明

我也通过htop看,我看不到任何正在运行的进程正在使用超过0.1%的内存。 所以我想知道发生了什么事? 现在,唯一由用户启动的进程运行是两个NFS安装的共享之间的rsync。

我尝试重新启动服务器,并且在几分钟内响应更快,但内存使用率再次上升。

有什么办法可以确定为什么内存使用率如此之高?

这很高,因为这可以节省工作。 它需要努力,使记忆自由。 如果你这样做,只需要努力使其再次使用。 所以,为了节省成本,现代操作系统只有在没有其他select的情况下才能使内存免费。

如果你认为“我现在想要免费的记忆,所以我可以使用它”,从脑海中消除这种想法。 内存不一定是免费的,以后使用它。 它现在可以使用, 可以在以后使用。 所以这里没有任何痛苦的折衷。 使用记忆是纯粹的胜利。

无论你的问题是什么,高内存使用率是不是。 这是一个正常运作的系统的标志。

大约190G的内存正在被文件系统caching使用,这通常不是一个真正的问题。

看看顶部的cached字段。

你也可以运行

 echo 3 /proc/sys/vm/drop_caches 

如果你感到尴尬;)