我使用“free -m -t”命令监控我的linux系统并获取
total used free shared buffers cached
Mem: 64334 64120 213 0 701 33216
-/+ buffers/cache: 30202 34131
Swap: 996 0 996
Total: 65330 64120 1209
这意味着用户进程使用了30GB的物理内存。
但是当使用top命令并按内存使用排序时,所有应用程序进程只使用3~4GB内存。
为什么会出现这种不一致?
答案 0 :(得分:1)
据我所知,top显示的内存量包括旧的进程中不再运行的冷内存。这是因为在重新启动所述进程的情况下,所需的数据可能仍在内存中,使系统能够更快更有效地启动进程,或者始终从磁盘重新加载数据。
或者,简而言之,linux通常会尽可能晚地释放内存中的冷数据。
希望清除它:)