
Сколько свободной оперативной памяти доступно в моей системе Linux? Достаточно ли свободной памяти для установки и запуска новых приложений?
В системах Linux вы можете использовать команду free для получения подробного отчета об использовании памяти системой.
Команда free предоставляет информацию об общем объеме физической и подкачиваемой памяти, а также свободной и используемой памяти.
Как использовать бесплатную команду
Синтаксис команды 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
В более старых версиях Linux вывод может немного отличаться.
Вот что означает каждый столбец:
- общий объем памяти — это число представляет собой общий объем памяти, который могут использовать приложения.
- Используется — Используемая память. Рассчитывается по формуле:
used = total - free - buffers - cache - свободно — Свободная / неиспользуемая память.
- Общий — этот столбец можно игнорировать, так как он не имеет смысла. Он здесь только для обратной совместимости.
- buff/cache — общий объём памяти, используемой буферами ядра, кэшем страниц и блоками памяти. Эта память может быть освобождена в любой момент при необходимости приложениями. Чтобы отображать буферы и кэш в двух отдельных столбцах, используйте опцию
-w. - доступно — оценка объема памяти, доступной для запуска новых приложений без подкачки.
Отображение использования памяти в удобном для восприятия формате
По умолчанию команда 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
Заключение
Мы показали вам, как использовать команду free для проверки использования памяти системой и интерпретации её вывода. Чтобы просмотреть все доступные параметры, введите man free в терминале.
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
Связанные руководства