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

Как выглядит базовый вывод free

Просто набираешь:

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 — память, отданная под кеш и буферы, которую можно быстро вернуть при необходимости
  • available — реально доступная память для запуска новых программ без свопинга

Удобочитаемый формат

Если тебе не нравится смотреть в килобайты, есть флаг -h (human readable):

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 — байты
  • --kilo — килобайты (1000 байт)
  • -k — кибибайты (1024 байта, по умолчанию)
  • -m — мегабайты
  • -g — гигабайты
  • --si — использовать 1000 вместо 1024 (подходит для совпадения с некоторыми системными утилитами)

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

free --mega 

Итог по памяти и подкачке

Чтобы получить строку с суммой памяти и свопа:

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 с числом секунд:

free -s 5 

Это будет обновлять показания каждые 5 секунд, пока не нажмёшь CTRL+C.

Если хочешь ограничить количество выводов, добавь -c с числом повторов:

free -s 5 -c 10 

Вывод обновится 10 раз и завершится.

В итоге

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