Я получаю несоответствие использования памяти между meminfo и ps. Free сообщает гораздо меньше свободной памяти, чем то, что процессы, по-видимому, используют в соответствии с ps.
Согласно бесплатному, у меня есть только 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 бесплатно!
Я использую ядро 2.6.16.33-xenU # 2 SMP x86_64 на Amazon AWS.
Где моя память? Может ли кто-нибудь пролить свет на то, как отслеживать это?