Вывод ps не коррелирует с командой освобождения?

Я получаю сумму всей зарезервированной памяти в килобайтах, используя следующую команду: -

ps aux --sort -rss | awk '{sum +=$6} END {print sum}'
OUTPUT: 14746220 i.e. 14.74GB

Однако free -g возвращает 27GB как использовалось. Почему есть разница между двумя выходами? Разве ps не показывает все выделение памяти?

1
задан 5 March 2016 в 12:53
1 ответ

У меня была точно такая же ситуация. htop и top оба сообщили об использовании около 95% (исключая буферы/кэш), как и free -m. При суммировании процессов из ps, я использовал только около 10% памяти. Я нашел эти сайты бесценными:

В моем случае это был кэш dentries/inode, который заполнял память. Я не знаю, почему free не засчитал их как буферы/кэш. Промыть эту информацию можно следующей командой, которая не навредит системе:

echo 3 > /proc/sys/vm/drop_caches

Информация об этом подробно описана здесь: https://linux-mm.org/Drop_Caches

1
ответ дан 3 December 2019 в 23:50

Теги

Похожие вопросы