Справочник

Команда free в Linux: сколько памяти на сервере свободно

free показывает, сколько оперативной памяти у сервера и сколько ещё могут получить программы. Смотреть нужно не на колонку free, а на available — ниже объяснено почему и что значат остальные колонки.

Обновлено 11.10.2026≈ 4 мин чтения
Содержание 8

Что сделать прямо сейчас

  1. Подключитесь к серверу — инструкция.
  2. Наберите free -h и нажмите Enter.
  3. В строке Mem: найдите колонку available — столько памяти ещё могут получить программы.
  4. В строке Swap: посмотрите, есть ли подкачка: нули значат, что её нет.
  5. Если available мало, а сайт тормозит или программы закрываются, найдите, кто занял память: программы и процессы.

Пример ответа free -h

ivan@myserver:~$ free -h
               total        used        free      shared  buff/cache   available
Mem:           1.9Gi       615Mi       320Mi       4.0Mi       1.2Gi       1.3Gi
Swap:             0B          0B          0B

Это сервер с 2 ГБ памяти без подкачки. Числа у вас будут свои. Буквы после чисел — единицы: B — байты, Ki — кибибайты, Mi — мебибайты, Gi — гибибайты. Сервер на 2 ГБ free может показать как 1.9Gi или чуть меньше: часть памяти ядро резервирует для себя, и в total она не входит.

Что значит каждая колонка

КолонкаЧто значит
totalсколько памяти всего
usedсколько занято: free считает это как total минус available
freeпамять, которую сейчас никто не использует, даже под кэш
sharedобщая память программ, в основном временные файлы в памяти (tmpfs)
buff/cacheбуферы и кэш файлов: ядро отдаст эту память программам, когда понадобится
availableсколько памяти могут получить новые программы без подкачки

Без ключа -h free показывает числа в кибибайтах, без букв. Такой вывод удобен для скриптов, но читать его труднее.

Почему free мало, а сервер работает

Linux не держит память пустой: всё, что не нужно программам, ядро занимает под кэш файлов, чтобы сайт и база читали диск быстрее. Поэтому колонка free может быть маленькой, а buff/cache — большой. Когда программе понадобится память, ядро освободит часть кэша. Мерило — колонка available: она учитывает и свободную память, и ту часть кэша, которую можно отдать.

Строка Swap: подкачка

Подкачка — место на диске, куда ядро выносит память, которая сейчас не нужна, когда оперативной не хватает. В строке три колонки: total, used и free.

Что видитеЧто значит
0B во всех колонкахподкачки нет
used равно нулю или малоподкачка есть, но памяти пока хватает
used растёт, а available малопамяти не хватает, сервер может тормозить

Как добавить подкачку и что делать, если программы закрываются из-за нехватки памяти, — в статье Out of memory: Killed process, раздел «Включите подкачку».

Ключи free

КомандаЧто покажет
free -hчисла с единицами: Mi, Gi
free -mчисла в мебибайтах, без букв
free -gчисла в гибибайтах, без букв
free -h -wбуферы и кэш в двух отдельных колонках
free -h -tещё одну строку Total: память и подкачка вместе
free -h -s 5новый ответ каждые 5 секунд; остановить — Ctrl+C

free -g отбрасывает дробную часть: 1,9 гибибайта он покажет как 1. Для небольших серверов берите -h или -m.

Кто занял память

free показывает память в целом. Какие программы занимают больше всего, покажет команда ps — первые пять строк по памяти:

ps aux --sort=-%mem | head -6

Колонка %MEM — доля памяти, RSS — сколько килобайт занимает программа. Что значат остальные колонки и как остановить зависшую программу — Процессы: ps, top и kill.

Источники

Сверено 11 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 11.10.2026