Команда free в Linux: сколько памяти на сервере свободно
free показывает, сколько оперативной памяти у сервера и сколько ещё могут получить программы. Смотреть нужно не на колонку free, а на available — ниже объяснено почему и что значат остальные колонки.
Содержание 8
Что сделать прямо сейчас
- Подключитесь к серверу — инструкция.
- Наберите
free -hи нажмите Enter. - В строке
Mem:найдите колонкуavailable— столько памяти ещё могут получить программы. - В строке
Swap:посмотрите, есть ли подкачка: нули значат, что её нет. - Если 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.
Источники
- Справка free для Ubuntu 24.04 — колонки total, used, free, shared, buff/cache, available и ключи -h, -m, -s.
- Исходный код procps 4.0.4: free.c — заголовок таблицы и строки Mem: и Swap:.
Сверено 11 октября 2026 года.
Что почитать дальше
- Как создать файл подкачки (swap)запас на случай нехватки памяти: пять команд и строка в /etc/fstab.
- Процессы: ps, top и killкакие программы запущены и как их остановить.
- Out of memory: Killed processчто делать, если памяти не хватило.
- No space left on deviceесли кончилось место на диске, а не память.
- Команды Linux для новичкашпаргалка по командам.
Проверено и обновлено: 11.10.2026