Возможный дубликат:
Как получить фактически используемую память, включая RAM-диски?
Если я складываю все данные об использовании памяти, полученные с помощью top -b -n 1 или htop или ps aux, я получаю число, которое на несколько ГБ меньше того, что я получаю с помощью free. Ядро может занимать часть этой памяти, но не до нескольких ГБ, не так ли?
Проверьте выходной сигнал free -m
. Это будет выглядеть примерно так:
total used free shared buffers cached
Mem: 7459 1483 5975 0 63 730
-/+ buffers/cache: 689 6769
Swap: 9536 0 9536
Возможно, с разными числами. Первая строка («Mem:») дает вам общее потребление, включая кэш и буферы (чтобы ускорить процесс, Linux использует свободную оперативную память для кэширования таких вещей, как, например, информация о файловой системе - см. Колонку «cache» в моем примере. оперативная память, занятая этим кешем, нужна где-то еще, этот кеш уменьшится, чтобы освободить ее). Итак, посмотрите на вторую строку («- / + buffers / cache:»), которая дает вам объем памяти, реально используемый приложениями (плюс, конечно, ядро и т. Д.). Обычно это должно соответствовать вашему расчету.