размер виртуальной памяти swap
Применимость: Linux
Слова для поиска: swap, свап, своп, подкачка, страничный обмен
Задача:
Обычно рекомендуется выбирать размер swap (раздел виртуальной памяти, подкачка) в 2 раза больше чем объем ОЗУ. А если у вас 128 ГБ ОЗУ в системе, то действительно нужно иметь 256 ГБ подкачки на диске?
Решение:
Рекомендация о двойном размере swap давно устарела.
Более свежая рекомендация от redhat.com:
If M < 2G S = M *2 Else S = M + 2G
То есть для конфигурации 128G нужен своп 130G?
- Это тоже слишком много для большинства случаев.
Надо четко понимать как и когда это пространство будет использоваться.
Например, чтобы ноутбук мог засыпать и просыпаться, сохраняя образ памяти на swap, этот объем (M + 2G) необходим.
Полезно будет иметь много памяти на сервере виртуализации. Но, в случае виртуализации, планировать использовать виртуальную память для выполнения гостевых систем нельзя. Это аварийный режим для предохранения от жесткого убиения процессов с вероятным повреждением данных.
Файловый сервер не будет активно использовать виртуальную память, ему надо физическая память для буферизации.
От сервера баз данных тоже не следует ожидать скачков достигающих сотен гигабайт.
В случае вебсервера, когда приходит множество клиентов и для каждого запускается отдельная копия (fork) демона, памяти не хватает и дополнительные копии демона вытесняются в память swap. Но вытеснение форков существенно замедляет их работу, они очень сильно тормозят, и постепенно соединения отваливаются по превышению времени ожидания и клиенты уходят. Таким образом виртуальная память выполняет роль демпфера при пиковых нагрузках.
Но для вебсервера невозможно представить себе ситуацию когда таким образом будет использовано более нескольких десятков гигабайт памяти swap. Лишние клиенты отвалятся задолго до того как использование памяти swap достигнет 100G.
Потому довольно часто будут уместными такие рекомендации:
- Для системы с 4 Гб оперативной памяти или менее требуется как минимум 2 ГБ подкачки
- Для системы от 4 ГБ до 16 ГБ оперативной памяти требуется как минимум 4 Гб подкачки
- Для системы от 16GB 64 ГБ оперативной памяти требуется как минимум 8 ГБ подкачки
- Для системы от 64 ГБ до 256 ГБ оперативной памяти требуется как минимум 16 Гб подкачки
- Для системы от 256 ГБ до 512 ГБ оперативной памяти требуется как минимум 32 Гб подкачки
Если вы заметите увеличение использования swap, то даже если нет возможности изменить размер раздела для swap, можно использовать для этого файл.
Инструкция по использованию файла для swap
Создать пустой файл размером 20G:
dd if=/dev/zero of=/swap1 bs=1G count=20
Создать в файле файловую систему swap:
mkswap /swap1
Установить права доступа и подключить файл к виртуальной памяти:
chown root:root /swap1 chmod 0600 /swap1 swapon /swap1
Добавить строку с параметрами монтирования файла в /etc/fstab
/swap1 swap swap defaults 0 0
Убедиться, что виртуальная память swap расширилась?
free
Смотрите также:
—- Актуальность: 2013/02/12 13:01