了解Ubuntu机器上的htop并debugging性能瓶颈

当我做一个htop时,我有以下的数据:

在这里输入图像说明

我不明白,虽然它说,我有7450MB的内存图走向最后。 为什么是这样?

它充满了caching。 如果需要的话,仍可用于程序,但目前由内核分配。

以我的一个虚拟机的这个图表:

在这里输入图像说明

“应用程序”只是一点点,但其余的大部分内存充满了缓冲区和caching。 它有助于将尽可能多的磁盘数据放在内存中来加速。

然而,Linux内核的做法(基于访问时间的简单的FIFO缓冲区)受到了批评,因为例如在大文件上执行md5sum之后,所有caching的数据都消失了。

您可以通过执行以下操作手动删除所有caching:

sync; echo 3 > /proc/sys/vm/drop_caches 

然后你的htop或free -m输出显示了很多“空闲”的内存。