Создание swap (подкачка) необходимо нам в тех случаях, когда полностью исчерпан лимит оперативной памяти. Иными словами, если для ОС требуется большее количество оперативной памяти, для рещения текущих задач, а ее лимит полностью исчерпан, то данные не помещающиеся в ОЗУ перемещаются в swap. Swap бывает двух типов - первый, это создается новый раздел, а второй, создается файл. При создании swap рекомендуется создавать все таки раздел на диске, нежели файл. Минусом Swap, является то, что он "работает" намного медленнее, чем ОЗУ, но можно создать несколько разделов и файлов с подкачкой в Линуксе, что является плюсом.
При создании рекомендуется обьем swap делать в два раза больше чем ОЗУ, но данное утверждение верно, если обьем ОЗУ менее 2 гигабайт. Если ОЗУ больше двух гигабайт, то выставляем обьем подкачки равным ОЗУ. Так же рекомендуется создавать swap кратный четырем, например - 512, 1024, 2048, 4096, и так далее.
На этом теоретическую часть заканчиваю и приступаю к более детальному рассмотрению процесса создания swap на ОС CentOS 5.3, и FreeBSD 7.2.
Создание файла подкачки
- Определяемся с размером swap-файла в мегабайтах и умножаем нашу цифру на 1024 для определения количества блоков. Например, нам нужен файл подкачки размером 1024 Мб. Умножаем 1024 на 1024, получаем - 1048576 блоков.
- Теперь создаем файл:
dd if=/dev/zero of=/usr/swap bs=1024 count=1048576
После создание система выдаст такие строки:
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB) copied, 34.4875 seconds, 31.1 MB/s
- Устанавливаем права на доступ к нашему SWAP-файлу:
chmod 0600 /usr/swap
- Создаем файловую систему подкачки на созданном нами ранее файле:
mkswap /usr/swap
Setting up swapspace version 1, size = 1073737 kB
- Для того, чтобы после перезагрузки системы не пришлось снова активировать SWAP, добавляем наш файл в /etc/fstab, указав в нем следующую строку:
/usr/swap swap swap defaults 0 0
- Активируем файл подкачки:
swapon /swap
- Проверяем результат с помощью команды:
swapon -s
или
cat /proc/swaps
Если все сделано правильно, получим результат:
Filename Type Size Used Priority
/usr/swap file 1048568 0 -1
Удаление файла подкачки
- Деактивируем файл подкачки:
swapoff /usr/swap
- Удаляем файл:
rm /usr/swap
На вопрос системы отвечаем "yes":
rm: remove regular file "/usr/swap"? yes
Создание раздела подкачки
Например, у нас есть свободный раздел sda5, созданный ранее с необходимым нам размером:
- Создадим файловую систему подкачки на нашем разделе:
mkswap /dev/sda5
- Добавляем в /etc/fstab, следующую строку:
/dev/sda5 swap swap defaults 0 0
- Активируем наш раздел:
swapon -va
- Проверяем:
cat /proc/swaps
Редактирование размера файла подкачки
Редактирование размера SWAP-файла сводятся к удалению уже созданного SWAP-файла и созданию нового требуемого размера.
Установка на FreeBSD
- Создаем SWAP-файл в директории usr размером 512 Мб:
dd if=/dev/zero of=/usr/swap bs=1024k count=512
- Устанавливаем права на доступ к нашему своп файлу:
chmod 0600 /usr/swap
- Добавляем путь до нашего свопа в rc.conf:
swapfile="/usr/swap"
- Для активации файла подкачки перезагружаем сервер или применяем следующую команду:
mdconfig -a -t vnode -f /usr/swap -u 0 && swapon /dev/md0
- Для проверки используем команду swapinfo
Подстройка SWAP-файла
Настройка количества свободной оперативной памяти в процентах для использования файла подкачки:
cat /proc/sys/vm/swappiness
60
По умолчанию файл подкачки используется при свободной памяти менее 60%.
|