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

Итак, сделав некоторое копание, у нас есть AptPkg::Class.

Таким образом, используя perl, мы можем сделать что-то простое.

perl -MAptPkg::Cache -MData::Dumper -E'say Dumper [AptPkg::Cache->new->files()]' | less

Это дает нам список всех пакетов AptPkg::Class::PkgFile. Вы могли бы сгенерировать команды apt-add-repository с этим.

1
задан 6 March 2017 в 21:52

3 ответа

Интерпретирующий вывод free: первая строка выходных данных free:

total Ваша общая физическая память (при отсутствии виртуализации) used Сколько из них в настоящее время free buffers Память, используемая буферами ядра cached Память, используемая для кеша [!] [!] free d2]

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

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

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

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

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

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

21
ответ дан 25 May 2018 в 03:49
  • 1
    Человек, ищущий считывание памяти, никогда не заинтересован (или почти никогда) в том, сколько памяти полностью бесплатное, но сколько бесплатно использовать. кэшированная память «используется», но также бесплатна для использования, поэтому вы должны смотреть на нее. – Nanne 30 November 2012 в 15:51
  • 2
    Я не совсем уверен, почему ты так говоришь? Кажется, это означает, что кто-то намеренно удалит кеш (что действительно плохо)? Дело в том, что загрузка acuall (как программа, которую вы хотите использовать) в эту память на самом деле является опцией. Вы хотите, чтобы это число было как можно меньше, но это означает, что вы не можете открывать какие-либо программы. Не цель, которую я бы сказал. Кроме того: этот кеш - это не только диск-кеш, это также системный кеш и подобные – Nanne 30 November 2012 в 16:09
  • 3
    @Nanne, ок. Я согласен с человеком. Спасибо за исправление. Я обновил свой ответ, чтобы отразить то же самое. – saji89 30 November 2012 в 16:20
  • 4
    ##### СПАСИБО ВСЕМ @ Nanne @ devav2 @ saji89 ДЛЯ ОБМЕНА ЗНАНИЯМИ - ВЫ УДИВИТЕЛЬНЫ ##### – amoooc 6 December 2012 в 23:30
  • 5
    @amoooc, пожалуйста. – saji89 7 December 2012 в 10:39

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

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

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

4
ответ дан 25 May 2018 в 03:49
Команда

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

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

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

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

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

Общая память 595 (используется + бесплатно)

Использовано: 482 Бесплатно: 112

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

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

Изменить: найдено это http://www.linfo.org/free .html , который дает хорошее объяснение.

3
ответ дан 25 May 2018 в 03:49
  • 1
    Я не думаю, что это правильно. Если вы отбрасываете кеш, вы используете 93mb, поэтому у вас осталось 501. – Nanne 30 November 2012 в 15:54
  • 2
    Почему вы думаете, что это неправильно. Свободная память в системе OP - 112 МБ + 324 МБ (которая кэшируется). Поэтому при запуске новой программы сначала будет использоваться 112 МБ, а затем кеш. – devav2 30 November 2012 в 16:15
  • 3
    в основном, потому что 595-93=501 и (дайте или возьмите 1 мб для округления), и это похоже на то, что 112 - это номер, который, по вашему мнению, ищет. – Nanne 30 November 2012 в 17:15
  • 4
    501 является правильным, и это то, что я пытаюсь объяснить. Из 595 используется 482. В которой только 93 является активной памятью, используемой программами. Таким образом, 112 - это свободный доступ +, если требуется больше, память может быть взята из кеша, который ранее использовался и в настоящее время неактивен. – devav2 30 November 2012 в 17:32
  • 5
    хорошо, согласитесь тогда :) – Nanne 30 November 2012 в 17:53

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

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