Почему мой сервер показывает
total used free shared buffers cached
Mem: 12286456 11715372 571084 0 81912 6545228
-/+ buffers/cache: 5088232 7198224
Swap: 24571408 54528 24516880
Я не знаю, как вычислить память в Linux. Я думаю, это говорит о том, что 5088232 используется там, где 7198224 является бесплатным, то есть фактически потребляет 5 ГБ оперативной памяти?
Значение значений
Первая строка означает:
total
: Ваша общая (физическая) ОЗУ (за исключением небольшого количества, которое ядро постоянно резервирует для себя при запуске); поэтому он показывает ок. 11.7 GiB, а не 12 GiB, которые вы, вероятно, имеете.
used
: память, используемая ОС.
free
: память не используется.
total
знак равно used
+ free
shared
/ buffers
/ cached
: Это показывает использование памяти для определенных целей, эти значения включены в значение для used
,
Вторая строка дает корректировку значений первой строки. Он дает исходное значение для used
минус сумма buffers+cached
и первоначальное значение для free
плюс сумма buffers+cached
, следовательно, его название. Эти новые значения часто более значимы, чем в первой строке.
Последняя строка (Swap:
) дает информацию об использовании пространства подкачки (т. е. содержимое памяти, которое было временно перемещено на диск).
Задний план
Чтобы понять, что означают цифры, вам нужно немного узнать о подсистеме виртуальной памяти (VM) в Linux. Просто короткая версия: Linux (как и большинство современных ОС) всегда будет пытаться использовать бесплатную ОЗУ для кеширования, поэтому Mem: free
почти всегда будет очень низким. Поэтому линия -/+ buffers/cache:
показывается, насколько свободна память при игнорировании кешей; кеши будут автоматически освобождаться, если память будет недостаточной, поэтому они не имеют большого значения.
Система Linux действительно низкая по free
значение в -/+ buffers/cache:
линия становится низкой.
Более подробно о значении чисел см., Например, вопросы:
Изменения в обработках 3.3.10
Обратите внимание, что вывод free
был изменен в procps 3.3.10 (выпущен в 2014 году). Опубликованные столбцы теперь «общий», «используемый», «свободный», «общий», «бафф / кеш», «доступный»,, и значения некоторых значений изменились, главным образом, для лучшего учета кеша slab ядра Linux.
Видеть Отчет об ошибке в Debian # 565518 для мотивации и Каковы изменения в free
выход с 14.04 до 16.04 означает? для получения более подробной информации.
Для тех, кому требуется еще более простое, пошаговое объяснение, проверьте http://thoughtsbyclayg.blogspot.com/2008/09/display-free-memory-on-linux-ubuntu.html, его объяснение мне очень помогло.
Строка буферов / кешей показывает, сколько памяти используется программами (первая из этих столбцов), и бесплатно для программ (второй столбец). Это довольно эзотерическое число, а не то, на что вы действительно на самом деле смотрели бы на практике.