Категорії
Solaris

Ограничиваем использование памяти для зоны

Что бы зона не смогла подвесить весь сервер, нужно её ограничивать по ресурсам. Обычно ограничивают использование оперативной памяти и процессорной мощности. Разберём как правильно ограничить использование памяти для зоны

Тестовый стенд: Solaris 11, zonename – zone0

За работу ограничения памяти отвечает демон rcapd. По умолчанию он отключен. Включить его можно так:

#rcapadm -E

или так:

#svcadm enable rcap

где rcapadm – утилита для администрирования демона rcapd.

Существуют 2 вида ограничений – на лету и постоянное. Разберём каждое из них

На лету

Выделим нашей зоне (zone0) 45 Мб памяти:

#rcapadm -z zone0 -m 45m

Запустим утилиту статистики:

$ rcapstat -z 1
    id zone            nproc    vm   rss   cap    at avgat    pg avgpg
     7 zone0              29   46M   28M   72M   49M    0K   28M    0K
     7 zone0               -   46M   28M   45M    0K    0K    0K    0K
     7 zone0               -   46M   28M   45M    0K    0K    0K    0K
     7 zone0               -   46M   28M   45M    0K    0K    0K    0K

Как видим, значение потребляемой памяти изначально было 72 мб, а стало 45. Демон rcapd перечитывает изменения каждые 15 секунд (но это значение можно изменить). Этот метод хорош, когда требуется изменить значения налету. Но ограничение не сохраняется после перезагрузки.

На постоянной основе.

Для этого перейдём в конфигурирование зоны и добавим ограничение:

#zonecfg -z zone0
zonecfg:zone0> add capped-memory
zonecfg:zone0:capped-memory>set physical=45M

сохраняемся, перегружаем зону и видим, что ограничения применяются даже после перезагрузки.

Напомню, что посмотреть размер потребляемой памяти зоны можно посмотреть командой

$prstat -Z

а ограничение – командой

$rcapstat -z 1

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff