如何解释top/htop内存使用情况

如何解释top/htop内存使用情况

我有一个 htpc/server-ish ubuntu 盒子,在家里运行 kodi (xbmc) 和其他一些网络服务。

我注意到 kodi 很慢,于是通过 ssh 进入盒子来看看发生了什么。我看到了这个 htop 输出:

在此输入图像描述

这是 free -m 的输出

richard@RMD-HTPC:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          7642       7505        137        152        196       1296
-/+ buffers/cache:       6012       1630
Swap:         1905         10       1895

为什么屏幕截图中的 7505 免费内存使用量为 7600mb 的 6000

但是当我将 htop 中唯一进程的所有百分比加起来时,我只得到大约 22-25% ?不应该高很多吗?

答案1

这是因为htop将缓冲区和缓存内存计为空闲内存,因为实际上可以这样看。

在内存中保存一些缓存数据没有“成本”,因此内核将数据保留在那里,以备以后需要。

例如,假设您观看了大约 500mb 的视频,关闭视频后,内核可能会决定将其保留在内存中,而不是清理该部分,以防万一您再次需要该视频,这样就不需要加载从您的慢速硬盘再次读取。但这 500mb 可以被认为是免费的,因为一旦你需要内存做其他事情,内核就可以立即使用该内存。

当该内存被正在运行的程序使用时,情况并非如此,因为该程序现在正在使用该内存。

used如果从内存中减去bufferscached值,您将得到 所显示的值htop

那么你说的那个百分比,就看你怎么总结了。

相关内容