команда free в linux

Linux утилита free

Как посмотреть объём оперативной памяти и файла подкачки? Как узнать, сколько оперативной памяти используется в настоящее время системой, а сколько доступно для запуска новых приложений? Для этого есть в linux утилита free.

Описание утилиты free

Linux утилита free показывает свободную и занятую память в системе. Данные получаются путем разбора /proc/meminfo.

При запуске без ключей Linux утилита free выведет на экран следующие данные:

Вывод содержит данные о физической памяти Mem и файле подкачки Swap. В столбцах указаны следующие параметры:

total – всего установленной памяти
used – использовано памяти (рассчитывается как total – free – buffers – cache)
free – свободно памяти
shared – разделенная память, используемая (в основном) tmpfs
buff/cache – память, используемая буферами ядра и кэшем страниц
available – доступно памяти для запуска новых приложений (без учета swap)
По умолчанию все значения перечисленных параметров указываются в кибибайтах (2 в степени 10 = 1024).

Linux утилита free: формат вывода

Для изменения формата вывода linux утилита free может принимать следующие ключи:

-b, –bytes – значения параметров памяти указываются в байтах
-k, –kibi – значения параметров памяти указываются в кибибайтах (используется по умолчанию)
-m, –mebi – значения параметров памяти указываются в мебибайтах
-g, –gibi – значения параметров памяти указываются в гибибайтах
–tebi – значения параметров памяти указываются в тебибайтах
–pebi– значения параметров памяти указываются в пебибайтах

Аналогично, имеются опции –kilo, –mega, –giga, –tera, –peta. Однако, в отличии от описанных выше, которые при преобразовании используется множитель 1024, в данных ключах это множитель будет равен 1000.

–si – использует kilo, mega, giga и т.д. (множитель 1000) вместо kibi, mebi, gibi (множитель 1024).

-h, –human – значения памяти выводятся в удобном для человека представлении. Утилита автоматически подберет наиболее подходящий префикс (B, K, M, G, T, P с множителем 1024):

-w, –wide – переключение вывода в расширенный режим, который обеспечивает вывод более 80 символов в строке. В данном режиме параметры buffers и cache разделены на 2 колонки:

-l, –lohi – дополнительно выводит статистику по самым низким и высоким значениям:

-t, –total – дополнительно выводит данные по общему значению всей памяти (Mem + Swap):

-s, –seconds delay – постоянно обновлять данные с задержкой, указанной в секундах. Допускается использование микросекунд после точки. Например, установим обновление данных в 2.5 секунды:

Каждые 2.5 секунды на экране будет появляется новый вывод команды free с обновленными данными. Чтобы остановить выполнение команды нажмите Ctrl + C.

-c, –count count – выводить новые данные определенное число раз. Требуется указание параметра -s с временем задержки (если ключ опущен, будет использовано стандартное значение – 1 секунда).

Посмотрим изменение используемой памяти с разницей в 60 секунд:

При этом, после 60 секунд и второго вывода утилита free автоматически закончит свою работу.

-V, –version – посмотреть текущую версию утилиты free:

–help – вывод краткой помощи по использованию утилиты:

Ещё больше полезных Linux-утилит вы можете найти на данной странице.

Источник

Команда Free (свободная оперативная память) в Linux

Free Command in Linux

Сколько свободной оперативной памяти мне доступно в моей системе Linux? Достаточно ли свободной памяти для установки и запуска новых приложений?

В системах Linux вы можете использовать free команду для получения подробного отчета об использовании памяти системой.

Читайте также:  pill pack для гаррис мод scp

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

Как использовать Free команду

Синтаксис free команды следующий:

При использовании без какой-либо опции, free команда отобразит информацию о памяти и поменяет местами в кибибайтах. 1 кибибайт (КиБ) составляет 1024 байта.

Вывод будет включать три строки, заголовок, одну строку для памяти и одну для подкачки:

В старых версиях Linux выходные данные могут немного отличаться.

Отображение использования памяти в удобочитаемом формате

Отображение использования памяти в других метриках

Команда free также позволяет указать единицу измерения памяти. Допустимые варианты:

Например, чтобы показать вывод в мегабайтах, вы должны набрать:

Отображение итогов в столбце

Постоянно печатать вывод

Например, чтобы печатать информацию о памяти каждые пять секунд, вы должны выполнить:

Вывод

К настоящему времени вы должны хорошо понимать, как использовать и интерпретировать free команду. Для просмотра всех доступных параметров free командной строки введите man free в своем терминале.

Источник

Linux: утилита free и очистка кеша памяти

Утилита free – один из основных инструментов администратора, позволяющая отобразить статистику используемой и свободной памяти сервера.

Информацию free получает из файла /proc/meminfo – динамически изменяющего в процессе работы системы.

О разделе proc и файловой системе procfs более подробно можно почитать в статье Linux: описание и назначение файловой системы proc и каталога /proc.

Рассмотрим информацию, которую выводит free :

Будучи запущенной без ключей – она отобразит статистику в килобайтах.

Для вывода информации в других единицах – используются ключи:

-b – в байтах;
-m – мегабайтах;
-g – гигабайтах.

Например – обновлять каждые 5 секунд:

Mem – физическая память;
Swap – виртуальная память, или Paging.

total – общее количество памяти;
used – реально использующая в данный момент и зарезервированная системой память;
free – свободная память ( total минус used );
shared – Shared memory или Разделяемая память, можно посмотреть командой ipcs ;
buffers – буферы в памяти – страницы памяти, зарезервированные системой для выделения их процессам, когда они затребуют этого, так же известна как heap-memory;
cached – файлы, которые недавно были использованы системой/процессами и хранящиеся в памяти на случай если вскоре они снова потребуются.

Тут used = 4745 megabytes. Общее количество buffers и cached памяти – 3331 мегабайт. Итого, реально занятая процессами и системой память – лишь

1413 (1 мегабайт “потерялся” из-за подсчёта в мегабайтах, а не байтах/килобайтах).

Аналогично подсчитывается и реально свободная память, только buffers и cached добавляются к ней (так как на самом деле – это не занятые страницы):

Что бы отобразить реально свободную память одной командой – можно воспользоваться такой командой:

Как очистить кеш памяти в Linux?

Можно выполнить такую команду:

Увы, показать насколько реально можно освободить таким образом памяти не получится, т.к. машина совсем не нагружена. Тем не менее – разница видна:

Однако, смысл выполнять такую очистку есть лишь в случае реальных проблем с памятью.

Для FreeBSD есть аналогичная утилита freecolor :

UPD Нагуглил ссылку на этот пост, в треде>>> есть еще пример:

Источник

Разбираем команду free: что должен знать администратор Linux

Для тех, кто не использует или не любит дистрибутивы Linux семейства RHEL, следует ориентироваться на версии ядра. В случае, когда мы говорим RHEL 6, то имеется в виду ядро 2.6.32 и ниже. Если говорим о RHEL 7/8, то 3.10 и выше.

Читайте также:  как запитать измельчитель в майнкрафт thermal expansion

Отвечая на вопрос «зачем». Как оказалось, у многих даже давно занимающихся администрированием Linux знания об использовании данной команды остались на уровне времён ядер 2.6.32. В то время как в новых ядрах, очень многие фичи были или инвертированы или же сильно изменены. И многие люди про это не в курсе.

Оригинал статьи лежит здесь. На случай, если кто-то мой перевод сочтёт негодным. 🙂

Разбираем команду free: что должен знать администратор Linux

Команда free популярна среди системных администраторов Unix/Linux. Это серьёзный инструмент, дающий полное представление об использовании памяти в ясном для человека виде.

В man странице про данную команду сказано, что free отображает общее количество свободной и используемой памяти в системе, включая пространство подкачки и физической памяти, а также буферы с кешами используемые ядром операционной системы. Данная информация собирается путём разбора содержимого /proc/meminfo.

Как и другие команды, free прошла через череду изменений на протяжении своего существования, дабы вывод её был осмысленным и точным, что требуется для дальнейшего принятия решений. В RHEL 6 вывод утилиты free ощутимо отличается от вывода такового на RHEL 7 или 8. Впрочем, ключевые параметры остаются неизменными в любой версии.

В RHEL 7/8 вывод выглядит иначе:

В то же время, в RHEL 8 всё будет выглядеть следующим образом:

Различные столбцы, показанные в разных версиях выше, указывают на общую доступную память (total), использованную (used), свободную (free), разделяемую (shared) память. Помимо этого, в выводе отображается память, расположенная в данных момент в буферах и кешах операционной системы.

Впрочем, как и в случае с большинством других команд, необходимые для устранения проблем или выполнении служебных обязанностей системному администратору столбцы вывода команды будут рассмотрены далее.

Red Hat Enterprise Linux 6

В случае с RHEL 6, сфокусироваться следует на столбцах -/+ buffers/cache. На рис. 1 выше мы видим, что общее количество памяти равно 94 гигабайтам, где израсходовано 44 гигабайта и свободно 49 гигабайт. Вообще, это довольно нагруженная система и потребление памяти в ней выглядит высоким. Волноваться не стоит, хотя всё же следует посмотреть на столбец в -/+ buffers/cache. Данное значение показывает занятые 42 гигабайта и свободные 52 Гб. Это означает, что в реальности используется всего 42 гигабайта, а не 44. Значение задействованных 44 гигабайт включает себя ещё и кеши. Заметьте, даже простой взгляд на значение колонки used без учёта значения занятых кешей уже влияет на интерпретацию оценки производительности системы.

Теперь разберём смысл колонок со значениями буферов и кешей:

· buffers: память задействованная буферами ядра
· cached: память занятая “Page Cache” (страничным кешем).

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

Red Hat Enterprise Linux 7/8

В операционных системах RHEL 7/8 уже следует сместить фокус на колонку available, поскольку колонка -/+ buffers/cache была удалена и заменена столбцом available. В то же время, столбцы buffers и cache были объединены в единое значение buff/cache и имеют ровно тот же смысл, что и ранее. Столбец available показывает оценку сколько памяти доступно приложениям без использования подкачки.

Читайте также:  где находится код в гача клуб

Так когда сисадмину всё же следует начать беспокоиться?

Исправна та система, которая показывает максимально возможный объём памяти достаточный для выполнения каких-либо задач, при этом демонстрирующая следующие ожидаемые признаки нормальной работы:

Однако, системному администратору стоит начать беспокоиться, когда появляются следующие признаки реальной нехватки памяти:

Подведение итогов

Команда free — полезный инструмент, которая может очень рассказать системному администратору о том, что происходит в системе. Знание о различиях в выводе free может помочь в более точной интерпретации выдаваемых данных.

Источник

Команда free в linux

Команда free позволяет вызывать одноименную утилиту, осуществляющую вывод информации об использовании оперативной памяти. Данная команда позволяет ознакомиться с информацией об использовании как физической памяти (RAM — Random Access Memory), представленной модулями с набором чипов в специальных слотах на материнской плате компьютера, так и памяти из раздела или файла подкачки подкачки (SWAP), расположенного на жестком диске или твердотельном накопителе. Вся выводимая с помощью команды информация с значительным набором дополнительных данных доступна из файла /proc/meminfo.

Базовый синтаксис команды выглядит следующим образом:

Наиболее важными параметрами являются параметр -t, позволяющий выводить информацию об общем количестве использованной памяти в отдельной строке, параметр -s, позволяющий обновлять вывод через заданный промежуток времени в секундах, параметр -c, позволяющий ограничить количество обновлений вывода заданным значением, параметр -l, позволяющий выводить информацию о нижней и верхней памяти, параметр -h, позволяющий выводить информацию в удобном для чтения человеком формате, а также параметры —bytes, —kilo, —mega, —giga, —tera, —peta, позволяющие выводить числовые значения в соответствующих единицах, а именно, байтах, килобайтах (утилита работает в данном режиме по умолчанию), мегабайтах, гигабайтах, терабайтах и петабайтах соответственно. Кроме того, существуют параметры —kibi, —mebi, —gibi, —tebi, —pebi, позволяющие выводить числовые значения в кибибайтах, мебибайтах, гибибайтах, тебибайтах и пебибайтах.

Примеры использования

Получение информации об использовании оперативной памяти

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

$ free
всего занято свободно общая буф./врем. доступно
Память: 2037684 1612460 197732 20768 227492 249148
Подкачка: 2098172 1123916 974256

Очевидно, что на данном компьютере активно используется раздел подкачки, что негативно отражается на его производительности.

Вывод с использованием значений в мегабайтах, на мой взгляд, более удобный:

А это удобный для чтения человеком формат с единицами измерения:

В большинстве случаев затраты оперативной памяти можно оценить, не используя каких-либо параметров.

Отслеживание состояния оперативной памяти

Для отслеживания состояния оперативной памяти следует использовать команду free с параметром -s и значением длительности периода перед обновлением информации в секундах:

всего занято свободно общая буф./врем. доступно
Память: 2037684 1622484 102500 18544 312700 241732
Подкачка: 2098172 1112164 986008

всего занято свободно общая буф./врем. доступно
Память: 2037684 1622484 102500 18544 312700 241732
Подкачка: 2098172 1112164 986008

всего занято свободно общая буф./врем. доступно
Память: 2037684 1622468 102500 18544 312716 241748
Подкачка: 2098172 1112164 986008

Очевидно, что теперь утилита периодически выводит информацию о состоянии оперативной памяти. В этом случае работа утилиты завершается с помощью комбинации клавиш CTRL+C.

Источник

Компьютерный онлайн портал