Введение
В системах Linux вы можете использовать команду free
, чтобы получить подробный отчет об использовании системной памяти.
Команда free
предоставляет информацию об общем объеме физической памяти и подкачки, а также о свободной и используемой памяти и пространстве подкачки в системе.
Как использовать команду Free
Синтаксис команды free
следующий:
free [OPTIONS]
При использовании без каких-либо параметров команда free
отобразит информацию о памяти и изменит ее на кибибайт. 1 кибибайт (КиБ) — это 1024 байта.
free
Вывод будет включать три строки, заголовок, строку памяти и строку подкачки:
total used free shared buff/cache available
Mem: 1992092 168748 315148 652 1508196 1649648
Swap: 0 0 0
В предыдущих версиях Linux вывод мог немного отличаться.
Вот что означает каждый столбец:
- total: это число представляет собой общий объем памяти, который может использоваться приложениями.
- used - Используемая память. Рассчитывается как:
used = total - free - buffers - cache
. - free - Свободная/неиспользуемая память.
- shared: этот столбец можно игнорировать, так как он не имеет значения. Он здесь только для обратной совместимости.
- buff/cache — объединенная память, используемая буферами ядра, кешем страниц и slabs. Эта память может быть восстановлена в любое время приложениями. Если вы хотите отобразить буферы и кеши в двух отдельных столбцах, используйте параметр
-w
. - available: оценка объема памяти, доступного для запуска новых приложений без свопинга.
Просмотр использования памяти в удобочитаемом формате
Как мы видели в примере выше, по умолчанию команда free
отображает информацию о памяти в кибибайтах. Чтобы отобразить информацию в удобочитаемом формате (обычно в мегабайтах и гигабайтах), используйте параметр -h
:
free -h
total used free shared buff/cache available
Mem: 1.9G 164M 307M 652K 1.4G 1.6G
Swap: 0B 0B 0B
Просмотр использования памяти в других показателях
Команда 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: 1992 167 315 0 1508 1650
Swap: 0 0 0
Показать итоги столбца
Чтобы отобразить строку с итоговыми значениями столбца, используйте параметр -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
Непрерывно печатать вывод
Чтобы постоянно отображать информацию о памяти на экране, используйте параметры -s
, --seconds
, за которыми следует число, указывающее задержку.
Например, чтобы печатать информацию о памяти каждые пять секунд, вам нужно будет запустить:
free -s 5
free
команда будет продолжать отображать результат, пока вы не нажмете CTRL+C
Это похоже на поведение команды watch
.
Чтобы отобразить результат заданное количество раз, используйте параметр -c
, --count
. В следующем примере команда выведет результат десять раз:
free -s 5 -c 10
Вывод
К настоящему времени вы должны хорошо понимать, как использовать и интерпретировать команду free
. Чтобы просмотреть все доступные free
параметры командной строки, введите:
man free