Книга: Linux-сервер своими руками

4.10. Создание раздела (файла) подкачки

4.10. Создание раздела (файла) подкачки

Рано или поздно при работе с Linux вам станет недостаточно оперативной памяти: потребности растут, а возможности (оперативная память) остаются прежними. В этом случае нужно купить дополнительные 128...256 Мб, тем более, что цены на память постоянно снижаются. Временным выходом из данного положения может послужить создание дополнительного файла или раздела подкачки. Еще раз замечу, что для Linux нет разницы, с чем работать: с файлом или с разделом.

Создайте раздел подкачки с помощью fdisk (тип раздела 82) и используйте команду mkswap, чтобы отформатировать его как раздел подкачки. Формат использования команды mkswap следующий:

mkswap –с раздел размер

Например, следующая команда создаст раздел свопинга размером 32 Мб (параметр –с используется для проверки «плохих» блоков):

mkswap –с /dev/hda3 32768

Если лишний раз переразбивать жесткий диск вам лень, можно создать не раздел, а файл подкачки, который будет впоследствии использоваться в качестве раздела подкачки. Для этого сначала создайте пустой файл /swap/sw-file (размер 32 Мб) с помощью команды dd:

dd if=/dev/zero of=/swap/sw-file bs=1k count=32768

Примечание. Эта команда читает данные с устройства /dev/zero и записывает их в файл /swap/sw-file. В качестве данных будет просто поток нулей, причем не чисел ноль (ASCII-код 48), а неотображаемых символов NULL (ASCII-код 0). Данные читаются и записываются блоками по 1 Kб(bs=1k), и общее количество блоковравно 32768. Таким образом, на выходе будет получен файл размером 32Мб, заполненный символами NULL. Действия по созданию такого файла очень сходны с действиями, производимыми программой fdisk при создании нового раздела.

После этого отформатируйте данный файл под своп:

mkswap /swap/sw-file 32768

Заметьте, что никто вам не мешает создать в этом файле файловую систему и использовать ее, например:

mke2fs –m 0 /swap/sw-file

затем:

mount –t ext2 /mnt/disk1 /sw/sw-file

Параметр –m задает процент блоков, которые будут зарезервированы для суперпользователя (по умолчанию — 5%).

После создания раздела (файла) подкачки, его нужно активизировать. Команда swapon –а включает все разделы свопинга (описанные в файле /etc/fstab), а команда swapon <раздел> включает только конкретный раздел. Команда swapon –а обычно помещается в сценарий загрузки системы. Обычно это /etc/re.d/rc.sysinit для систем, использующих инициализацию типа SysV — RedHat, Mandrake, Debian (хотя RedHat и Mandrake используют несколько модифицированную схему инициализации, но суть та же) или /etc/rc/rc.s для BSD-подобных Linux-систем (Slackware).

В рассматриваемом случае для подключения раздела подкачки нужно выполнить команду swapon /dev/hda3, а для подключения файла подкачки необходимо выполнить команду swapon /swap/sw-file.

Обратите внимание, что файл подкачки не может быть автоматически активизирован с помощью команды swapon –а, так как он не может быть указан в файле /etc/fstab. Для того, чтобы файл подкачки /swap/sw-file автоматически активизировался при загрузке системы, команду swapon /swap/sw-file нужно включить в сценарий загрузки после команды swapon –а. В противном случае вам придется эту команду вводить каждый раз вручную после загрузки системы. 

Убедиться, что ваш файл (раздел) подкачки активизирован, можно, выполнив команду free (см. рис. 4.3). Команда free выводит информацию об использовании памяти, в том числе и о виртуальной. В колонке total выводится общий размер памяти и подкачки (Mem и Swap соответственно), в колонке used — размер занятой памяти, a free — свободной.


 Рис. 4.3. Создание и активизирование файла подкачки

После активизирования файла (раздела) подкачки общий размер свопа (Swap Total) должен увеличиться на размер только что активизированного раздела — в нашем случае на 32 Мб.

Оглавление книги


Генерация: 1.183. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз