Linux может перемещать выбранные страницы анонимной памяти между RAM и хранилищем swap. Это позволяет удерживать неактивную память, освобождая RAM для действующих нагрузок и кеша файловой системы, но хранилище намного медленнее RAM. Swap — инструмент ёмкости и управления памятью, а не замена достаточному объёму памяти или ограничению памяти приложения.
Файловая система · Урок 8
swap
Узнайте, как Linux использует, инициализирует, активирует, подбирает размер и безопасно деактивирует пространство swap.
Участие swap в управлении памятью
Ядро может использовать swap до полного исчерпания RAM в зависимости от нагрузки, давления памяти, cgroups и таких параметров, как swappiness. Чистые страницы с файловой поддержкой часто можно отбросить и перечитать из файлов, тогда как анонимным страницам нужен swap или место в RAM.
Интенсивный продолжительный обмен может вызвать огромную задержку или thrashing. Диагностируйте спрос на память, рабочие наборы, давление и ограничения приложений, а не считайте увеличение swap универсальным исправлением производительности.
Какая память является основным кандидатом для хранения в swap?
Просмотр активного swap
Сначала используйте команды только для чтения:
$ swapon --show
$ cat /proc/swaps
$ free -h
Они показывают настроенный активный swap и агрегированные показатели памяти. Ненулевое значение «used» само по себе не проблема; сопоставляйте его с частотой ввода и вывода swap, давлением памяти, задержкой и поведением нагрузки.
Какая команда выводит активные области swap в структурированном виде?
Инициализация и активация устройства swap
mkswap записывает сигнатуру swap и уничтожает прежние пригодные метаданные цели. Практикуйтесь только на проверенной одноразовой цели:
$ sudo mkswap /dev/VERIFIED-SWAP-TARGET
$ sudo swapon /dev/VERIFIED-SWAP-TARGET
До mkswap проверьте модель, серийный номер, размер, постоянную идентичность, существующие сигнатуры, монтирования, RAID, LVM, шифрование и резервные копии, как перед mkfs. После активации подтвердите точный источник через swapon --show.
Для постоянства используйте UUID swap в /etc/fstab с типом и параметрами локальной политики:
UUID=VERIFIED-SWAP-UUID none swap sw 0 0
Какая команда активирует инициализированную область swap?
Файлы swap и другие варианты хранения
Файл swap позволяет гибко добавить ёмкость без переразметки, но требования к созданию зависят от файловой системы. Файл должен иметь строгие разрешения, подходящее распределение без неподдерживаемых разреженных областей или поведения copy-on-write, сигнатуру swap и активацию. Следуйте документации файловой системы и дистрибутива вместо универсального рецепта с fallocate.
Сжатые RAM-устройства вроде zram могут предоставить другой уровень swap с иными компромиссами CPU и ёмкости. Зашифрованный swap защищает страницы в состоянии покоя, а гибернации нужны конфигурация возобновления и достаточно подходящего хранилища. Эти цели влияют на размер и проектирование.
Нет универсального правила, что swap должен вдвое превышать RAM. Определяйте размер по пикам нагрузки, желаемому поведению при отказе, потребностям гибернации, задержке и ресурсу хранилища, проектированию дампов сбоев и эксплуатационному мониторингу.
На чём лучше всего основывать размер swap?
Безопасная деактивация swap
Деактивируйте конкретную проверенную область:
$ sudo swapoff /dev/VERIFIED-SWAP-TARGET
Ядро должно переместить находящиеся в ней страницы. Если RAM и оставшийся swap не вмещают их, операция может завершиться ошибкой или создать опасное давление памяти. Сначала остановите или ограничьте нагрузки, наблюдайте за памятью, удаляйте постоянную запись fstab только после проверки правильной цели и подтвердите деактивацию через swapon --show до смены назначения хранилища.
Почему swapoff может завершиться ошибкой или подвергнуть опасности сильно нагруженную систему?
Используйте лабораторную работу Создание и активация файла swap в Linux, чтобы в контролируемой среде отработать разрешения файла, активацию и постоянство.
Урок завершён
Вы завершили swap
Теперь вы можете считать swap явно управляемым ресурсом памяти.
Связывать swap прежде всего с анонимной памятью под давлением.
Проверять активный swap и поведение нагрузки до изменения ёмкости.
Инициализировать только проверенную одноразовую цель, затем активировать её через
swapon.Выбирать размер и защиту swap по требованиям нагрузки и гибернации.
Обеспечивать ёмкость для перемещения до применения
swapoff.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт