我的 Ubuntu 消耗的内存比任务管理器显示的要多:
sudo ps -e --format rss | awk 'BEGIN{c=0} {c+=$1} END{print c/1024}'
2750.29
free -m
total used free shared buffers cached
Mem: 3860 2765 1094 0 3 300
-/+ buffers/cache: 2461 1398
Swap: 2729 2374 354
Run Code Online (Sandbox Code Playgroud)
真奇怪。有人可以解释这种差异吗?
但更重要的是:我想知道一个进程真正使用了多少内存。我不想知道虚拟内存大小,而是想知道常驻内存加上进程的交换。
我还尝试输出“ps”的格式参数“sz”,但其总和很高(16000 MB)(参数“size”给出了 36700 MB)。还有其他选择吗?
我真的很想用它来确定哪些程序/进程正在消耗大量内存(和交换),杀死它们,因为内存很有价值:-) 这真的没有意义,所以我在这里问。
/proc/meminfo 的输出:
MemTotal: 3952812 kB
MemFree: 1119192 kB
Buffers: 2676 kB
Cached: 290068 kB
SwapCached: 160980 kB
Active: 1805396 kB
Inactive: 731680 kB
Active(anon): 1745820 kB
Inactive(anon): 689184 kB
Active(file): 59576 kB
Inactive(file): 42496 …Run Code Online (Sandbox Code Playgroud)