Значение строки буферов /кешей на выходе свободных

Почему мой сервер показывает

общее количество использованных бесплатных общих буферов, кэшированных
    Mem: 12286456 11715372 571084 0 81912 6545228
- /+ буферы /кеш: 5088232 7198224
   Обмен: 24571408 54528 24516880

Я не знаю, как вычислить память в Linux. Я думаю, это говорит о том, что 5088232 используется там, где 7198224 является бесплатным, то есть фактически потребляет 5 ГБ ОЗУ?

146 голосов | спросил Muahmmad Zeeshan 17 22009vEurope/Moscow11bEurope/MoscowTue, 17 Nov 2009 13:37:38 +0300 2009, 13:37:38

3 ответа


210

Значение значений

Первая строка означает:

  • total: Ваша общая (физическая) ОЗУ (за исключением небольшого количества, которое ядро ​​постоянно резервирует для себя при запуске); поэтому он показывает ок. 11.7 GiB, а не 12 GiB, которые вы, вероятно, имеете.
  • используется: память, используемая ОС.
  • free: память не используется.

всего = + бесплатно

  • shared /buffers /cached: это показывает использование памяти для определенных целей, эти значения включены в значение для used .

Вторая строка дает корректировку значений первой строки. Он дает исходное значение для минус сумма buffers + cached и исходное значение для free плюс сумма buffers + cached, следовательно, ее название. Эти новые значения часто более значимы, чем значения для первой строки.

Последняя строка (Swap:) предоставляет информацию об использовании пространства подкачки (т. е. содержимое памяти, которое было временно перемещено на диск).

Фон

Чтобы понять, что означают цифры, вам нужно немного узнать о подсистеме виртуальной памяти (VM) в Linux. Просто короткая версия: Linux (как и большинство современных ОС) всегда будет пытаться использовать бесплатную ОЗУ для кеширования, поэтому Mem: free будет почти всегда быть очень низким. Поэтому отображается строка - /+ buffers /cache:, потому что она показывает, сколько памяти свободна при игнорировании кешей; кеши будут автоматически освобождаться, если память становится недостаточной, поэтому они не имеют большого значения.

Система Linux на самом деле низкая в памяти, если значение free в строке - /+ buffers /cache: становится низким.

Подробнее о значении чисел см., например, вопросы:

Изменения в procps 3.3.10

Обратите внимание, что вывод free был изменен в procps 3.3.10 (выпущен в 2014 году). По имеющимся столбцам теперь «total», «used», «free», «shared», «buff /cache», «available» , а значения некоторых значений изменены, в основном для лучше учитывать кэш-память slab ядра Linux.

См. отчет об ошибках Debian # 565518 для мотивации, и Что изменения в free с 14.04 до 16.04 означают? для получения более подробной информации.

ответил sleske 17 22009vEurope/Moscow11bEurope/MoscowTue, 17 Nov 2009 14:42:05 +0300 2009, 14:42:05
7

Для тех, кому требуется более простое, пошаговое объяснение, отметьте http://thoughtsbyclayg.blogspot.com/2008/09/display-free-memory-on-linux-ubuntu.html , его объяснение очень помогло мне.

ответил volni 14 FebruaryEurope/MoscowbTue, 14 Feb 2012 02:06:25 +0400000000amTue, 14 Feb 2012 02:06:25 +040012 2012, 02:06:25
2

Строка буферов /кеш показывает, сколько памяти используется программами (первая из этих столбцов), и бесплатно для программ (второй столбец). Это довольно эзотерическое число, а не то, на что вы действительно на самом деле смотрели бы на практике.

ответил womble 17 22009vEurope/Moscow11bEurope/MoscowTue, 17 Nov 2009 14:03:17 +0300 2009, 14:03:17

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132