Статья добавлена: 2012-04-08 12:21:04
Автор: Сергей

Создание swap-файла в Linux


1. Открываем консольтерминал и получаем полномочия root используя sudo:
или sudo -s

2. Думаем, какой размер swap-файла нам нужен в мегабайтах. Подумавши, даём команду:

  • sudo dd if=/dev/zero of=/swapfile bs=1M count=500


или

  • # dd if=/dev/zero of=/swapfile bs=1M count=500




В команде dd для задания размеров можно использовать суффиксы K, M, G для килобайт, мегабайт и гигабайт соответственно. В данном примере это 500 Мегабайт файла подкачки.

* Многие задаются фундаментальными вопросами бытия вроде "каков рекомендуемый размер swap в linux"? Можно не думать, а просто создать SWAP-файл по размеру оперативной памяти, периодически посматривая на её, подкачки, использование с помощью команды top. При необходимости добавитьуменьшить своппинг системе. Можно использовать несколько файлов подкачки.

3. Поясняем системе, что созданный пустой файл это всё-таки файл подкачки для Linux:
  • sudo mkswap /swapfile

или
  • # mkswap /swapfile



4. Подключаем созданный swap-файл:
  • sudo swapon /swapfile

sudo swapon /swapfile
или
  • # swapon /swapfile


При этом в выводе команды top или команды free должно появиться упоминание, что свопинга в системе поприбавилось. Чтобы отключить файл подкачки, пишем
  • sudo swapoff /swapfile


или
  • # swapoff /swapfile


Чтобы не подключать swap-файл или swap-раздел каждый раз, полезно занести запись в /etc/fstab следующего содержания:
  • /swapfile none swap sw 0 0


На всякий случай отмечу, что каждый раз создавать swap-файл не нужно: просто подключаете и отключаете его с помощью swapon/swapoff. Работа со swap-разделами в Linux происходит аналогичным образом.


Приоритет SWAP-файлов
Создавать и использовать swap-файлов в Linux можно любое количество. При этом можно указать приоритет подключаемого swap-файла или раздела (хотя ядро умеет самостоятельно распределять по разделам/файлам подкачки).

Например, высший приоритет для файла подкачки задаётся так:
  • swapon -p 1 /opt/swapfile


Приоритет является целым числом от 0 до 32767.


Очистка swap-пространства после ресурсоёмких приложений
Командой swapoff -a, запущенной от имени root, можно отключить использование всех разделов и файлов подкачки. После ввода команды содержимое свопа за несколько минут загружается обратно в оперативную память, а сам раздел подкачки отключается.
После загрузки содержимого свопа в оперативную память включем своп обратно командой swapon -a.