Как интерпретировать вывод & ldquo; free -m & rdquo; команда?

Выходные данные free -m:

                     total    used    free    shared  buffers  cached
Mem:                  595      482     112         0       63     324
-/+ buffers/cache:              93     501
swap:                   0        0       0

Какое значение используемой памяти является правильным, 482 или 93?

48
задан 6 March 2017 в 20:52

4 ответа

У Вас есть 112 МБ абсолютно свободной памяти, НО 501 МБ, которого Вы видите, без 'кэшируемой' памяти. Это означает, что ОС поместила некоторый материал в Вашу память, чтобы быть более быстрой. Это называет "используемым" (поэтому, Ваше 'свободное' число - только 112), но это на самом деле доступно для Вас при необходимости в нем.

Это - хорошая вещь, потому что неиспользованная память является бесполезной памятью. Кэшируемая память может быть очищена в случае необходимости. Старое "Я должен вымыться, память" наполняют людей, используемых, чтобы сделать для Windows 95, не необходим здесь: это - весь штраф и счастливый :)

Число, которое Вы ищете, является 501 свободным (в мегабайтах из-за -m).

см. ссылку эти страницы:

http://www.linuxatemyram.com/
http://www.itworld.com/it-managementstrategy/280695/making-sense-memory-usage-linux

41
ответ дан 6 March 2017 в 20:52

Ответ @ saji89 превосходен, но в наши дни free -m больше не печатает строку -/+ buffers/cache, а вместо этого помещает объем доступной оперативной памяти в новый столбец available в первую строку, например: 117]

ubuntu@pg_master:~$ free -m
              total        used        free      shared  buff/cache   available
Mem:          61406        1571         506       17131       59328       42150
Swap:             0           0           0
ubuntu@pg_master:~$ free -V
free from procps-ng 3.3.10

Вы можете прочитать коммит на free (1), который удалил линию в своем репо . Также обязуются добавить новый available столбец .

0
ответ дан 6 March 2017 в 20:52

Интерпретация выходных данных free:
В первой строке выходных данных free перечислены:

  • total Общая, физическая (при условии отсутствия виртуализации) память [ 1114]
  • used Сколько из этого в настоящее время используется (чем-либо)
  • free Сколько из этого является полностью бесплатным (не используется вообще)
  • shared (ничего там нет, игнорируйте этот столбец)
  • buffers Память, используемая буферами ядра
  • cached Память, используемая для кеша

Последние два элемента, кеш и буферы, это память, которая не выделена для определенных пользовательских процессов. Это память, зарезервированная ядром для повышения общей производительности, но не память «приложения». Эти области будут увеличиваться или уменьшаться в зависимости от политик ядра в отношении кэширования, нехватки памяти, шаблонов ввода-вывода приложений и т. Д.

Так как эти два столбца не являются выделенной пользователем памятью, и зоны могут сжиматься (практически до нуля), если это требуется для пользовательских выделений, они в некотором смысле «свободны» - там есть ОЗУ, которое может быть освобождено ядром если ваши приложения активно нуждаются в этом.

Вот что говорит вам вторая строка. Он удаляет буфер и кеш-память из столбца used (именно это означает -) и добавляет (+) их в столбец free. (Возникнет проблема округления.)

(Последняя строка показывает состояние пространства подкачки.)

Предоставлено: https: //unix.stackexchange .com / a / 33549/14497

Итак, в вашем случае 112MB - это полностью свободная память, и если принять во внимание память, используемую для кэширования, которая может быть выделяемые пользователю приложения, если это необходимо; затем 501 МБ - это фактический максимальный объем памяти, доступный для использования.

0
ответ дан 6 March 2017 в 20:52

Команда free показывает информацию о неиспользуемой и используемой памяти и пространстве подкачки.

Ниже приведено объяснение, предоставленное http://www.linfo.org/free.html

Первая строка, помеченная Mem , отображает использование физической памяти, включая объем памяти, выделенной для буферов и кешей. Буфер, также называемый буферной памятью, обычно определяется как часть памяти, которая выделяется как временное место хранения данных, которые отправляются или принимаются от внешнего устройства, такого как жесткий диск, клавиатура, принтер или сеть.

Вторая строка данных, которая начинается с - / + buffers / cache , показывает объем физической памяти, в настоящее время выделенной для системного буферного кеша. Это особенно важно в отношении прикладных программ, поскольку все данные, доступ к которым осуществляется из файлов в системе, которые выполняются с помощью системных вызовов read () и write (), проходят через этот кэш. Этот кэш может значительно ускорить доступ к данным, уменьшая или устраняя необходимость чтения или записи на жесткий диск или другой диск.

Третья строка, которая начинается с Swap , показывает общее пространство подкачки, а также, сколько из них используется в настоящее время и сколько еще доступно.

Позволяет проанализировать использование памяти вашей системой

Вы использовали команду free с опцией '-m', которая используется для отображения результата в мегабайтах

-m, --mega
              Display the amount of memory in megabytes.
[ 1112] Общий объем памяти составляет 595 (используется + свободно)

Используется: 482 бесплатно: 112

482 МБ из 595 МБ используется вашей системой, в которой только 93 МБ используется активными программами, а остальные 324 МБ находятся в кеше

Поэтому, когда вы в будущем запустите любую программу, скажем, для которой требуется больше 120 МБ. Будут предоставлены все 112 МБ (в настоящее время свободные), а оставшиеся 8 МБ будут извлечены из буфера / кэша неактивной программы.

Редактировать : Нашел эту ссылку , которая дает хорошее объяснение.

0
ответ дан 6 March 2017 в 20:52

Другие вопросы по тегам:

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