- Что такое swap space и как работает
- Как проверить наличие и использование swap space
- Swap-раздел и swap-файл
- Создание swap-файла
- Создание swap-раздела
- Автоматическое подключение swap
- Мониторинг использования swap
- Отключение swap
В этой статье мы подробно разберем, как управлять swap в Linux: как проверить его состояние, создать swap-файл или swap-раздел, настроить автоматическую активацию и избежать типичных ошибок.
Что такое swap space и как работает
Swap space – это часть дискового пространства, которую операционная система Linux использует как дополнительную память при нехватке оперативной. Ее также называют областью подкачки, так как в нее временно выгружаются данные из RAM, которые в текущий момент не используются активно.
Swap не заменяет оперативную память, а помогает системе работать при повышенной нагрузке.
Она работает так: система следит, какие данные в памяти используются редко, и временно переносит их на диск. Освободившееся место в RAM идёт под новые задачи. Когда нужные данные снова понадобятся, они возвращаются из swap обратно в оперативную память.
Swap можно организовать двумя способами — как отдельный раздел на диске или как специальный файл в файловой системе. У раздела меньше накладных расходов и он работает немного стабильнее, зато файл гораздо удобнее: его легко создать, увеличить или убрать без переразметки диска. При этом Linux одинаково эффективно использует и тот, и другой.
Область напрямую влияет на производительность. Так как доступ к данным на диске значительно медленнее, чем к оперативной памяти, частая подкачка замедляет систему. Но при этом swap спасает ее от зависаний и аварийного закрытия программ, когда памяти не хватает.
Swap space полезна на серверах и виртуальных машинах с ограниченным объемом оперативной памяти, а также в сценариях, где возможны кратковременные всплески потребления ресурсов.
Как проверить наличие и использование swap space
Чтобы понять, используется ли swap space в системе и в каком объеме, Linux предоставляет несколько встроенных инструментов. Они позволяют проверить как сам факт наличия области подкачки, так и текущую нагрузку на нее.
Простейший способ – посмотреть сводную информацию о памяти с помощью команды:

В выводе будет отдельная строка Swap, где отображается общий размер swap space, объем занятой и свободной области. Если все значения равны нулю, область подкачки в системе не настроена или отключена.
Для получения детальной информации именно о подключенных swap-областях используется команда:

Она показывает, какие разделы или файлы используются как swap space, их тип, размер и приоритет. Отсутствие вывода означает, что область подкачки не активна.
Проверить текущую загрузку системы и использование swap space в реальном времени можно с помощью интерактивных утилит. Например, команда:

в верхней части экрана отображает общий объем swap и количество занятой памяти. Это удобно для быстрой оценки состояния системы под нагрузкой.
Для более точного анализа активности подкачки применяется команда:

Она выводит статистику работы виртуальной памяти с заданным интервалом обновления. Столбцы si и so показывают, сколько данных система читает из swap space и записывает в него. Постоянные ненулевые значения указывают на активное использование области подкачки.
Swap-раздел и swap-файл
Swap в Linux можно организовать двумя способами: выделить отдельный swap-раздел на диске или создать swap-файл внутри существующей файловой системы. Оба варианта выполняют одну задачу – предоставляют системе область подкачки, но отличаются по удобству управления, гибкости и поведению в некоторых сценариях.
Swap-раздел – это отдельная часть диска, которую целиком отводят под подкачку. Он существует независимо от файловой системы и обычно создается при установке Linux. Его размер фиксируется заранее, и если потом понадобится его изменить, это может потребовать сложных операций с разметкой диска, а иногда – даже пересоздания раздела.
Swap-файл – это обычный файл, который размещается внутри уже существующей файловой системы, например ext4 или xfs. Система просто подключает его как область подкачки. Главное преимущество такого подхода – гибкость: файл можно легко создать, увеличить, уменьшить или убрать, не трогая разметку диска. Для большинства современных компьютеров и серверов, включая виртуальные серверы, swap-файл – это простой и практичный выбор.
Основные различия между swap-файлом и swap-разделом сводятся к трем аспектам:
- Управление. Swap-файл гораздо удобнее в обслуживании: его можно быстро создать, изменить по размеру или отключить, не затрагивая структуру диска. Swap-раздел, напротив, жестко привязан к разметке диска – изменить его объем сложнее.
- Совместимость и ограничения. Некоторые файловые системы или конфигурации, например Btrfs с сабволумами или системы с активными снапшотами, могут накладывать ограничения на использование swap-файла. В таких случаях swap-раздел работает стабильнее и предсказуемее, так как не зависит от особенностей файловой системы.
- Производительность. На современных накопителях, особенно SSD, разница между файлом и разделом практически незаметна. Ядро Linux эффективно обрабатывает оба варианта, а реальная скорость подкачки в первую очередь зависит от скорости диска, а не от типа swap. Однако в теории swap-раздел может быть чуть быстрее, потому что не проходит через слой файловой системы – это может сказаться в старых системах или при экстремальных нагрузках.
Рассмотрим ключевые плюсы и минусы swap-раздела:
| Плюсы | Минусы |
|
Предсказуемая работа без зависимости от файловой системы |
Сложное изменение размера, часто требуется переразметка |
|
Стабильная конфигурация для долгоживущих установок |
Риск ошибок при операциях с разделами на рабочей системе |
| Удобен, когда размер swap известен заранее и редко пересматривается |
Труднее перераспределять место на диске без простоя |
|
Хорошо вписывается в строгие схемы разметки и политики администрирования |
Не всегда оправдан, если важна быстрая корректировка конфигурации |
И swap-файла:
| Плюсы | Минусы |
|
Гибкое изменение размера без вмешательства в разметку диска |
Зависимость от файловой системы и ее особенностей |
| Быстрое добавление области подкачки на уже работающей системе | Возможные ограничения на отдельных ФС и в некоторых режимах (например, со снимками/CoW) |
| Удобное масштабирование под изменяющуюся нагрузку | Требует аккуратной настройки прав доступа и корректного создания файла |
| Простая миграция: файл можно перенести или пересоздать | При заполненном диске может быть сложно выделить место под увеличение swap-файла |
| Удобен для тестов, временных конфигураций и автоматизации | В редких сценариях диагностика проблем может быть менее очевидной |
Создание swap-файла
Перед началом стоит проверить, есть ли свободное место на разделе, где планируется файл:

Далее создайте файл. В современных системах удобно использовать fallocate (если файловая система поддерживает), а если нужно гарантированно выделить блоки на диске – используйте dd.
Способ 1:
Способ 2:
![]()
Затем обязательно выставьте корректные права доступа, чтобы файл был доступен только root:
Разметьте файл как swap и активируйте его:
sudo swapon /swapfile

Проверьте, что область подкачки подключилась и видна системе:
free -h

Чтобы swap-файл включался автоматически после перезагрузки, добавьте строку в /etc/fstab:
После этого можно быстро проверить корректность записи (без перезагрузки), перечитав таблицу монтирования:
sudo swapon -a
swapon --show
Создание swap-раздела
Сначала необходимо определить диск и свободное место под будущий swap-раздел:

Если раздел под swap уже существует (например, /dev/sda3), переходите к разметке swap. Если раздела нет, его нужно создать любым удобным инструментом разметки. В консольных окружениях чаще всего используют fdisk или parted.
Пример с fdisk:

Далее логика такая (на примере Ubuntu):
- Выберите свободное место и нажмите New.
- Создайте новый раздел нужного размера.

- Перейдите в Type:

- Выберите Linux swap, чтобы указать тип раздела:

- Сохраните изменения через Write, а потом выйдите через Quit.

После этого проверьте, что раздел появился:
Теперь разметьте созданный раздел как swap (подставьте ваш раздел, например /dev/sda3):
Включите swap-раздел:
Проверьте, что область подкачки активна:
free -h
Автоматическое подключение swap
Чтобы область подкачки была доступна системе после каждой перезагрузки, swap нужно автоматическое подключение. В Linux это делается через файл /etc/fstab, который описывает постоянные точки монтирования и системные ресурсы, включая swap.
Перед настройкой убедитесь, что swap уже создан и работает:
Если настраивается swap-раздел, надежнее всего прописывать его через UUID (так система не перепутает раздел при изменении порядка дисков). Узнайте UUID:
Найдите строку нужного раздела (например, /dev/sda3) и скопируйте значение UUID. Затем откройте /etc/fstab любым редактором, например:
Добавьте строку (UUID замените на свой):
Если настраивается swap-файл, UUID не нужен – достаточно пути к файлу. Добавьте в /etc/fstab:
После изменений важно проверить корректность конфигурации, не перезагружая систему. Для этого отключите текущий swap и включите все, что прописано в /etc/fstab:
sudo swapon -a
Проверьте результат:
free -h
Если swapon -a не включил swap, значит в /etc/fstab есть ошибка (опечатка в UUID, неверный путь к файлу, лишние пробелы). В таком случае исправьте запись и повторите проверку.
При необходимости можно управлять порядком использования swap с помощью приоритета. Для этого в строку /etc/fstab добавляют параметр pri=. Пример для swap-раздела:
И пример для swap-файла:
Чем выше значение pri, тем раньше система будет использовать эту область подкачки при наличии нескольких источников swap.
Мониторинг использования swap
Мониторинг использования swap позволяет вовремя заметить нехватку оперативной памяти и понять, насколько активно система обращается к области подкачки. В Linux для этого есть как простые обзорные инструменты, так и средства более детального анализа.
Для быстрой оценки общего объема и текущего использования используйте:
Смотрите строку Swap: used показывает, сколько занято, free – сколько доступно. Если used не растет и система не испытывает задержек, это не обязательно проблема.
Чтобы увидеть активные swap-источники (файлы/разделы), их размер и приоритет, выполните:
Для наблюдения в реальном времени удобно использовать top или htop. В top информация о swap отображается в шапке:
Если нужен именно показатель активности подкачки, используйте vmstat. Он показывает скорость записи/чтения в swap:
vmstat 1
Ключевые столбцы:
- si – сколько данных за интервал считано из swap в RAM;
- so – сколько данных за интервал выгружено из RAM в swap.
Постоянные ненулевые значения si/so в течение длительного времени обычно означают, что системе не хватает оперативной памяти под текущую нагрузку.
Для более детальной статистики виртуальной памяти и подкачки по интервалам подойдет sar (если установлен пакет sysstat):
Он также показывает интенсивность swap-in/swap-out, но в более удобном для анализа виде и с возможностью смотреть историю.
Отключение swap
Отключение swap может понадобиться для обслуживания, изменения конфигурации подкачки или замены swap-раздела на swap-файл (и наоборот).
Перед отключением важно понимать, что все данные, которые сейчас находятся в области подкачки, должны вернуться в оперативную память. Если там не хватит места, система может зависнуть, сильно тормозить или просто не позволит отключить подкачку.
Чтобы посмотреть, какие источники swap активны и сколько они занимают, используйте:
free -h
Отключить конкретный swap-файл или swap-раздел можно командой swapoff с указанием пути или устройства:
или
Если нужно отключить все источники swap сразу, пропишите:
Проверьте, что подкачка действительно не используется:
free -h
Если swap должен оставаться отключенным после перезагрузки, нужно убрать или закомментировать соответствующую строку в /etc/fstab. Для swap-файла это обычно строка вида:
Для swap-раздела – строка с UUID:
Далее проверьте, что система не попытается включить swap автоматически:
swapon --show
Если swap отключен корректно, команда swapon -a не активирует ни одного источника подкачки.
Заключение
Правильно организованный swap помогает системе работать стабильно, особенно когда памяти не хватает.
На что стоит обращать внимание на практике:
- swap-файл удобен, если нужно быстро изменить размер или добавить подкачку;
- swap-раздел подходит, если система спланирована заранее и конфигурация стабильна;
- важно не только проверять факт наличия swap, но и следить, как активно он используется;
- отключать swap можно только при достаточном объеме свободной RAM;
- все настройки лучше прописать в файле /etc/fstab, чтобы они сохранялись после перезагрузки.
Тогда swap перестанет быть аварийной мерой и станет полезным, предсказуемым инструментом, который работает на пользу системе.