Почему мой сервер показывает
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 ГБ ОЗУ?
linux
memory
memory-usage
virtual-memory
Муахмад Зеешан
источник
источник
Ответы:
Значение значений
Первая строка означает:
total
: Ваша общая (физическая) оперативная память (исключая небольшой бит, который ядро постоянно резервирует для себя при запуске); вот почему это показывает ок. 11,7 ГиБ, а не 12 ГиБ, что у вас, вероятно, есть.used
: память, используемая ОС.free
: память не используется.total
=used
+free
shared
/buffers
/cached
: Это показывает использование памяти для определенных целей, эти значения включены в значение дляused
.Вторая строка дает скорректированные значения первой строки. Он дает исходное значение
used
минус суммаbuffers+cached
и исходное значениеfree
плюс суммаbuffers+cached
, отсюда и его название. Эти новые значения часто имеют большее значение, чем значения первой строки.Последняя строка (
Swap:
) предоставляет информацию об использовании пространства подкачки (то есть содержимое памяти, которое было временно перемещено на диск).Фон
Чтобы действительно понять, что означают цифры, вам нужно немного рассказать о подсистеме виртуальной памяти (ВМ) в Linux. Просто короткая версия: Linux (как и большинство современных ОС) всегда будет пытаться использовать свободную оперативную память для кэширования, поэтому
Mem: free
почти всегда будет очень низким. Поэтому строка-/+ buffers/cache:
показана, потому что она показывает, сколько памяти свободно при игнорировании кэшей; кэши будут освобождены автоматически, если памяти станет недостаточно, поэтому они не имеют большого значения.В системе Linux действительно мало памяти, если
free
значение в-/+ buffers/cache:
строке становится низким.Для получения более подробной информации о значении чисел см., Например, вопросы:
Изменения в procps 3.3.10
Обратите внимание, что выходные данные
free
были изменены в Props 3.3.10 (выпущен в 2014 году). Столбцы, о которых сообщалось, теперь имеют значения «total», «used», «free», «shared», «buff / cache», «available» , а значения некоторых значений изменены, в основном для лучшего учета плиты ядра Linux кэш.См. Отчет об ошибке Debian # 565518 для мотивации, и что
free
означают изменения в выходных данных с 14.04 по 16.04? для более подробной информации.источник
$ free -h
total used free shared buff/cache available
Mem: 3.4G 585M 152M 11M 2.6G 2.5G
Swap: 4.0G 84M 3.9G
total = used + free + buff/cache
Для тех, кто нуждается в еще более простом пошаговом объяснении, проверьте http://hotstsbyclayg.blogspot.com/2008/09/display-free-memory-on-linux-ubuntu.html , его объяснение мне очень помогло ,
источник
Строка buffers / cache показывает, сколько памяти используется программами (первый из этих столбцов), и свободна для использования программами (второй столбец). Это довольно эзотерическое число, и не то, что вы бы на самом деле смотрели на практике.
источник