我得到了meminfo和ps之間的內存使用情況差異。 Free報告的可用內存比根據ps顯然使用的進程少得多。Linux內存報告不一致
據自由,我只有3188mb免費:
free -m
total used free shared buffers cached
Mem: 15360 13273 2086 0 79 1022
-/+ buffers/cache: 12171 3188
Swap: 0 0 0
我試圖追查在內存用ps會(剪斷低於非0 RSS值):
ps -A --sort -rss -o comm,pmem,rss
COMMAND %MEM RSS
mysqld 13.1 2062272
java 6.2 978072
ruby 0.7 114248
ruby 0.7 114144
squid 0.1 30716
ruby 0.0 11868
apache2 0.0 10132
apache2 0.0 9092
apache2 0.0 8504
PassengerHelper 0.0 5784
sshd 0.0 3008
apache2 0.0 2420
apache2 0.0 2228
bash 0.0 2120
sshd 0.0 1708
rsyslogd 0.0 1164
PassengerLoggin 0.0 880
ps 0.0 844
dbus-daemon 0.0 736
sshd 0.0 736
ntpd 0.0 664
squid 0.0 584
cron 0.0 532
ntpd 0.0 512
exim4 0.0 504
nrpe 0.0 496
PassengerWatchd 0.0 416
dhclient3 0.0 344
mysqld_safe 0.0 316
unlinkd 0.0 284
logger 0.0 252
init 0.0 200
getty 0.0 120
然而,這是沒有意義的,因爲加起來的RSS列導致總共只有大約3287mb的內存使用率,應該幾乎留下12gb免費!
我在Amazon AWS上使用內核2.6.16.33-xenU#2 SMP x86_64。
我的記憶在哪裏?任何人都可以闡明如何追蹤這一點?
http://www.linuxatemyram.com/ – Erik 2011-03-28 19:09:27
這也可能更適合於unix.stackexchange.com。好的問題,以及來自Erik的相當有趣的(如果不是簡短的)評論。另外,我剛剛注意到,在我的Fedora系統上,雖然頂級報告只有大約4GB可用,但free -m命令(來自Erik的鏈接)報告大約7GB免費。 gnome-system-monitor也考慮磁盤緩存。 – 2011-03-28 19:14:58
這與linuxatemyram.com不一樣。注意我引用了3188mb免費的,這是正確的緩衝區/緩存空閒列。 – 2011-03-28 19:30:02