9 июл. 2009 г.

Увеличение размера RAM внутри VZ-контейнера

По умолчанию в openvz-контейнере доступно для ОС 256MB RAM. Крайне маловато, если использовать ее для сервера БД, например. Для увеличения этого размера используется параметр privvmpages, однако значение этого параметра выражается в pages а не в привычных мегабайтах. Чтобы понять, сколько попугаев в удаве страниц в требуемом нам объеме (пусть это будет 1Gb), используем великий и ужасный bash:
echo $(($((1024 * 1024)) / $(($(getconf PAGE_SIZE) / 1024))))

Полученное значение (в моем случае 262144) отдаем виртуальной машине:
vzctl set 200 --privvmpages 262144 --save
где 200 - VEID машины, --save - сохранение параметра в конфиге. Без save проведенная настройка будет действительна лишь до перезагрузки контейнера.