FAQ FreeBSD
Страница 35. Виртуальная память


7.13. Как добавить дополнительную виртуальную память?

Наилучший способ - увеличить размер раздела подкачки, может быть, добавив для
этого ещё один диск. Общим правилом является выбор размера виртуальной памяти,
в два раза превышающий объём физической памяти. Однако, если у вас очень мало
физической памяти, этот объём гораздо больше. Хорошей практикой является
задание достаточного объёма виртуальной памяти в ожидании добавления физической
памяти, чтобы потом не испытывать трудностей.

Перенос виртуальной памяти на отдельный диск увеличивает быстродействие системы
по сравнению с добавлением виртуальной памяти на том же диске. Например,
компиляция исходных текстов происходит быстрее, если они находятся не на том же
диске, что и раздел подкачки. Особенно это заметно для дисков SCSI.
Если у вас имеется несколько дисков, размещение раздела подкачки на каждом из
них, даже на рабочем диске, обычно бывает полезно. Как правило, каждый быстрый
диск в вашей системе должен иметь раздел подкачки. FreeBSD поддерживает по
умолчанию до 4 устройств подкачки с чередованием. При задании нескольких
разделов подкачки вам захочется сделать их одинакового размера, однако иногда
первичный раздел подкачки делается несколько больше для того, чтобы он мог
поместить аварийный образ ядра. Размер вашего первичного раздела подкачки
должен по крайней мере быть равным объёму физической памяти, чтобы поместить ав
арийный образ ядра.
Диски IDE не позволяют реализовать одновременный доступ к обоим дискам по
одному каналу (FreeBSD не поддерживает режим 4, так что весь ввод/вывод для
дисков IDE "программируется"). Однако я всё равно советую перенести раздел
подкачки на отдельный диск. Диски достаточно дешёвы, и экономить тут не на чем.
Использование NFS для размещения раздела подкачки рекомендуется только в
случае, если у вас нет локального диска. Подкачка поверх NFS медленна и
неэффективна в релизах FreeBSD до 4.x, хотя достаточно быстра в релизах 4.0 и в
ыше. Кроме того, её скорость будет ограничена реальной пропускной способностью
сети и это даст дополнительную нагрузку на NFS-сервер.
Вот пример vn-файла подкачки размером 64Мб (/usr/swap0, хотя, конечно, вы
можете выбрать любое другое имя.
Удостоверьтесь, что ядро откомпилировано со строкой
    pseudo-device   vn 1   #Vnode driver (turns a file into a device)

в конфигурационном файле. Ядро GENERIC её содержит
 1. создайте vn-устройство
        # cd /dev
        # sh MAKEDEV vn0
 2. создайте файл подкачки (/usr/swap0)
        # dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
 3. Установите корректные права на файл (/usr/swap0)
        # chmod 0600 /usr/swap0

 4. Включите использование файла подкачки в /etc/rc.conf
        swapfile="/usr/swap0"   # Set to name of swapfile if aux swapfile desired.
 5. перезагрузите машину
Чтобы включить использование файла подкачки немедленно, наберите
    # vnconfig -ce /dev/vn0c /usr/swap0 swap

 
« Предыдущая статья