Есть ли способ установить ограничение на использование ОЗУ (виртуальной и резидентной), которое демон может быть предоставлен в Debian? Я это понимаю ulimit
здесь не применяется, но что-то правильные настройки в /etc/security/limits.conf
может быть ответом.
Я желательно ищу конкретный пример. Скажем, ограничьте виртуальный до 30 МБ и резидентный до 10 МБ для BIND (независимо от того, действительно ли это плохая идея). Этот параметр должен применяться к оперативной памяти, используемой всеми процессами, порожденными этим демоном.
Вы можете ограничить максимальный объем памяти, используемый программой, но если программе требуется больше памяти, большинство из них просто прерывают / аварийно завершают работу / что-то еще.
Поэтому вам нужно настроить привязку, чтобы ограничить использование памяти.
Основной вариант - это max-cache-size
(посмотрите файл конфигурации bind, обычно в /etc/bind/named.conf
). Например max-cache-size 10M
Не использовать datasize
если вы действительно не знаете, что делаете.
Вы бы не захотели. Виртуальная память не является дефицитным ресурсом, поэтому ее ограничение не имеет смысла. А ограничение резидентной памяти программы просто замедляет работу всей системы до обхода, потому что ей требуется больше операций ввода-вывода.