Я немного запутался в том, как цифры памяти складываются сверху.
Если я правильно понял, количество «реально» используемой памяти полностью - свободно - буферизировано - кэшировано . В приведенном ниже примере это будет 14370248k - 75736k - 178892k - 10459552k = 3656068k, что составляет 25% от общего объема памяти (3656068/14370248).
Опять же, если я правильно понял, числа, показанные в столбцах RES и % MEM, показывают объем физической памяти, который процесс "реально" использует. Сумма значений RES только процессов httpd составляет 7254 млн. Или 7428096 тыс. (7254 * 1024), что составляет 52% от общего объема памяти (7428096/14370248). Сумма значений % MEM процессов httpd достаточно близка к 53%.
Почему итоговая часть показывает только 25% используемой памяти, тогда как одни только процессы httpd утверждают, что используют более 50% памяти? Что мне здесь не хватает?
top - 15:37:00 up 117 days, 18:27, 6 users, load average: 4.82, 4.44, 3.60
Tasks: 433 total, 4 running, 429 sleeping, 0 stopped, 0 zombie
Cpu(s): 59.6%us, 6.5%sy, 0.0%ni, 33.0%id, 0.1%wa, 0.0%hi, 0.8%si, 0.0%st
Mem: 14370248k total, 14294512k used, 75736k free, 178892k buffers
Swap: 8388600k total, 116k used, 8388484k free, 10459552k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3566 mysql 21 0 554m 60m 4576 S 74.6 0.4 11422:52 mysqld
23305 apache 15 0 327m 27m 3792 S 3.2 0.2 0:01.30 httpd
23474 apache 15 0 327m 27m 3800 S 3.2 0.2 0:01.09 httpd
...