我有一个 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
Run Code Online (Sandbox Code Playgroud)
为什么 7505 的免费截图中的 ram 使用量为 7600mb 中的 6000
但是,当我将 htop 中独特进程的所有百分比加起来时,我只会达到 22-25% 左右?不应该高很多吗?
Kir*_*ira 14
这是因为htop
将缓冲区和缓存内存计算为空闲内存,因为它实际上可以通过这种方式看到。
在内存中保存一些缓存数据没有“成本”,因此内核将内容保留在那里,以备以后需要时使用。
例如,假设您观看了大约 500 mb 的视频,在您关闭视频后,内核可能会决定将其保留在内存中而不是清理该部分,以防万一您再次需要该视频以便它不需要加载它再次从你的慢硬盘。但是那 500mb 可以被认为是免费的,因为一旦您需要内存用于其他用途,内核将能够立即使用该内存。
当正在运行的程序正在使用该内存时,情况并非如此,因为该程序现在正在使用该内存。
如果从used
内存中减去buffers
和cached
值,您将得到 显示的值htop
。
现在关于你说的那个百分比,这取决于你如何总结。