Rain WikiWindows · Linux · Android

Файл подкачки в Linux

ПонятиеВсе дистрибутивы LinuxБезопасно удалять: Нет

Swap — это дисковое пространство, которое ядро Linux использует в качестве расширения оперативной памяти: редко используемые страницы памяти перемещаются туда, чтобы освободить RAM для активных задач. Это может быть выделенный раздел или файл подкачки; информация о нем отображается командами free -h и swapon --show.

1Почему swap все еще полезен

Даже при наличии большого объема RAM swap позволяет ядру выгружать неактивные страницы из памяти и создает буфер перед тем, как механизм out-of-memory killer начнет завершать процессы. Однако постоянное интенсивное использование подкачки означает, что системе не хватает RAM или запущено слишком много задач.

2Параметр swappiness

Настройка ядра vm.swappiness (от 0 до 200, по умолчанию 60) определяет, насколько активно ядро использует подкачку по сравнению с очисткой кэша файлов. Низкие значения позволяют дольше удерживать память приложений в RAM. Текущее значение можно узнать командой sysctl vm.swappiness, а постоянное значение задается в файле в директории /etc/sysctl.d/.

3Файлы подкачки

Файл подкачки создается, форматируется с помощью mkswap, активируется командой swapon и добавляется в /etc/fstab для автоматического монтирования после перезагрузки. Права доступа к нему должны быть установлены как 600.

Как добавить файл подкачки объемом 2 ГБ

  1. Создайте файл: sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
  2. Ограничьте доступ: sudo chmod 600 /swapfile
  3. Отформатируйте его: sudo mkswap /swapfile
  4. Активируйте его: sudo swapon /swapfile
  5. Сделайте настройку постоянной: добавьте строку '/swapfile none swap sw 0 0' в файл /etc/fstab
  6. Проверьте результат: swapon --show и free -h

Осторожно

  • В файловой системе Btrfs файл подкачки требует специальной подготовки (отключение copy-on-write); следуйте руководству вашего дистрибутива.
  • Ошибка в /etc/fstab может привести к невозможности загрузки системы: проверяйте строку перед перезагрузкой.

Источники

  1. swapon(8) man7.org
  2. mkswap(8) man7.org
  3. free(1) man7.org
  4. Документация по /proc/sys/vm (kernel.org) kernel.org

Последняя проверка: