Apache2 prefork - контроль над Индейцем
plushka 19 апреля, 2012 - 11:44
Вопрощаю всех столкнувщихся или же когда то попадавших в ситуацию, подобно моей:
— Сервер Gentoo_x64
— Apache_mpm_prefork
Регулярно убивает всю память и превыщает LA. Адекватно отследить вообще не получается, моментально LA3 > LA9 и все! Железный ресет только помогает.
— Как отследить?
— Чем или как ограничить возможности Индейца, к примеру если процесс больше 1 гига, чтобы система валила такой процесс?
— Подскажите софт для записи системных счетчиков, к примеру слежка за процессами которые жрут память (Имя процесса, время)
Огромне всем спасибо. Устал уже бороться с нестабильностью и костылями. Любой возможной информации буду рад.
»
- Для комментирования войдите или зарегистрируйтесь
Сам не пробовал, но советую
Сам не пробовал, но советую взглянуть на cgroups в ядре. В частности на
CONFIG_CGROUP_MEM_RES_CTLR
Как с этим работать — не подскажу. Возможно кто-нибудь из форумчан знает. Ну, и гугол в помошь.
Рекоммендую почитать как
Рекоммендую почитать как работает префорк-модуль у апача. После какого-то количества обработанных запросов форк убивается и на его место создаётся новый. Таким образом даже наличие утечек памяти не сильно сказывается на общей стабильности системы. Кроме того посмотрите какое максимальное число форков вы разрешили создавать в настройках.
То есть надо смотреть вот какие параметры:
StartServers, MinSpareServers, MaxSpareServers - число форков.
MaxRequestsPerChild - количество запросов до смерти форка.
Рекоммендую первые три зафиксировать в каком-то небольшом состоянии (одинаковом для всех) - тогда популяция форков будет примерно постоянной и предсказуемой. А второе число попробовать уменьшить.