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

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

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

free [OPTIONS]

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

free

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

              total        used        free      shared  buff/cache   available
Mem:        8075208     3204964     1310540      551232     3559704     4198340
Swap:       2097148           0     2097148

Вот что означает каждый столбец:

  • total — это число представляет собой общий объем памяти, который может использоваться приложениями.
  • used - Используемая память. Он рассчитывается как:used = total - free - buffers - cache
  • free - Свободная/Неиспользуемая память.
  • shared — этот столбец можно игнорировать, так как он не имеет значения. Это здесь только для обратной совместимости.
  • buff/cache — объединенная память, используемая буферами ядра, кешем страниц и плитами. Эта память может быть восстановлена ​​в любое время, если это необходимо приложениям. Если вы хотите, чтобы буферы и кеш отображались в двух отдельных столбцах, используйте эту -wопцию.
  • available — оценка объема памяти, доступной для запуска новых приложений без свопинга

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

По умолчанию freeкоманда показывает информацию о памяти в кибибайтах. Для просмотра информации в удобочитаемом формате (обычно в мегабайтах и ​​гигабайтах) используйте -hопцию:

free -h
              total        used        free      shared  buff/cache   available
Mem:           487M        219M         54M        4.5M        214M        228M
Swap:          1.5G          0B        1.5G

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

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

  • -b, --bytes- Отобразить вывод в байтах.
  • --kilo- Отображение вывода в килобайтах (1 КБ = 1000 байт).
  • --mega- Отображение вывода в мегабайтах.
  • --giga- Отображение вывода в гигабайтах.
  • --tera- Отображение вывода в терабайтах.
  • -k, --kibi- Отобразить вывод в кибибайтах. (1 КБ = 1024 байта). Это единица измерения по умолчанию.
  • -m, --mebi- Отобразить вывод в мегабайтах.
  • -g, --gibi- Отображать вывод в гигабайтах.
  • --tebi- Отображение вывода в тебибайтах.
  • --peti- Отображение вывода в пебибайтах.
  • --si- Вместо 1024 используйте степени 1000. Например --mebi --si, равно --mega.

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

free --mega
              total        used        free      shared  buff/cache   available
Mem:           8075        4022         233         614        3819        3336
Swap:          2097           0        2097

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

Чтобы отобразить строку, показывающую итоги столбца, используйте -tпараметр. Это дает вам сумму памяти и подкачки в общих, используемых и свободных столбцах.

free -h -t
              total        used        free      shared  buff/cache   available
Mem:           7.7G        3.9G        483M        526M        3.4G        3.2G
Swap:          2.0G          0B        2.0G
Total:         9.7G        3.9G        2.5G

Непрерывная печать вывода

Чтобы постоянно отображать информацию о памяти на экране, вызовите freeс параметром -s( --seconds), за которым следует число, указывающее задержку.

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

free -s 5

Команда freeбудет продолжать отображать результат, пока вы не нажмете CTRL+C. Это похоже на поведение watchкоманды .

Чтобы отобразить результат определенное количество раз, используйте опцию -c( ). --countВ приведенном ниже примере команда выведет результат десять раз:

free -s 5 -c 10