расширение виртуальной памяти swap

Применимость: Linux

Слова для поиска: подкачка, своп, свап


Задача:

Например у вас сервер с оперативной памятью 4Гб, а вы получили операционную систему установленную из шаблона где раздел swap имеет размер 1Гб. Этого явно недосточно. При большой нагрузке ваш сервер может упасть. Как расширить swap?

Решение:

Вы можете использовать обычный файл для расширения виртуальной памяти.

Разумеется, раздел swap способен работать быстрее чем файл подкачки, но об этом аспекте можно не особенно беспокоиться.

Нужно понимать, что виртуальная память swap должна использоваться только для демпфирования пиков нагрузки. Если у вас постоянно интенсивно идет страничный обмен с фалом подкачки это ненормальный режим работы. Нужно оптимизировать конфигурацию, менять алгоритмы работы, ограничивать количество одновременно обслуживаемых запросов и т.п.

А с задачей обеспечения стойкости и адаптации вашего сервера на больших нагрузках этот способ вполне справится.

Пример команд создания файла swap на 2ГБ:

dd if=/dev/zero of=/var/swap.img bs=1G count=2
mkswap /var/swap.img
echo "/var/swap.img  none   swap  sw,loop=loop3 0 0" >> /etc/fstab
swapon -a

После этого можно проверить что получилось командой swapon -s:

swapon -s
Filename                                Type            Size    Used    Priority
/dev/vda2                               partition       1335292 15712   -1
/var/swap.img                           file            2097148 0       -2

Смотрите также: