#1
|
|||
|
|||
Подскажите плиз, молодые люди, как автоматически убивать (kill -9) долгоживущие процессы, запущенные Апачем?
__________________
Предагаю всем вместе повысить цены на хостинг: +100% |
#2
|
|||
|
|||
Ну например, написать скрипт (можно демон), который периодически запускает ps auxww, ищет процессы, запущенные от юзера Apache и у которых поле TIME > какого-то значения, и убивает эти процессы. Это под FreeBSD.
У нас подобная система успешно работает (убивает зарвавшиеся пользовательские процессы). |
#3
|
|||
|
|||
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (Smart @ 02 Июл. 2002, 23:51)</td></tr><tr><td id="QUOTE">Подскажите плиз, молодые люди, как автоматически убивать (kill -9) долгоживущие процессы, запущенные Апачем?[/QUOTE]<span id='postcolor'>
долгоживущие - это которые едят много CPU или которые живут долго "реального" времени? Если второе, то укажите, плиз, ОС. |
#4
|
|||
|
|||
FreeBSD 4.5, php - как модуль Apache. По-моему это пользовательские php-скрипты. Три часа висели в памяти и создавали большой load average. Я их руками kill и задумался, как бы мне это сделать автоматично. Через cron? А как их вычленить? ps aux | grep httpd ? а по времени работы, чтоб не все подряд, а только тех, что обнаглели?
__________________
Предагаю всем вместе повысить цены на хостинг: +100% |
#5
|
|||
|
|||
Без небольшого перлового скрипта, видимо, не обойдетесь :-)
Скрипт говорит ps aux, а дальше анализирует вывод. Там вся информация есть: и uid процесса (по этому критерию искать процессы Apache), используемая память и CPU, а также время, в течение которого работает процесс. По этим критериям найти нужные процессы и убить их беспощадно. |
#6
|
|||
|
|||
1. Для пхп - ограничение в php.ini
2. Для перл - login.conf + патч к Apache (например http://www.summersault.com/chris/tec...rclimit.patch) |
#7
|
|||
|
|||
Я может дэбила, но в апаче есть параметры CPULIMIT...
Ставите и все должно работать. |
#8
|
|||
|
|||
Может быть...
RLimitCPU действует только на CGI скрипты и на команды SSI exec. |
#9
|
|||
|
|||
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (dim-dim @ 03 Июл. 2002, 15:26)</td></tr><tr><td id="QUOTE">RLimitCPU действует только на CGI скрипты и на команды SSI exec.[/QUOTE]<span id='postcolor'>
А что еще что-то надо убивать? Да и вообще, завязывайте господа с предоставлением хостинга... Плохое и не перспективное это дело. Продавайте лучше виртуальные выделенные сервера и живите без проблем. Тогда юзер у себя хоть 1000 процессов пускай запускает, если и заглохнет что-то, то только у него, а не у всех кто на этом же сервере находится. А раз у него заглохло, то при обращении в саппорт, ему говорим "чувак. ну ты понимаешь, что это по твоей причине твой сервак заглох.. а раз так, то и настраивай заново все сам". PS. Я НИКОМУ НИЧЕГО НЕ НАВЯЗЫВАЮ ДАННЫМ СООБЩЕНИЕМ. Я ВЫСКАЗАЛ СВОЮ ТОЧКУ ЗРЕНИЯ, КАК УЙТИ ОТ ГИМОРА БЕЗОПАСНОСТИСЕРВЕРА |
#10
|
|||
|
|||
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (ribkin @ 03 Июл. 2002, 17:55)</td></tr><tr><td id="QUOTE">Да и вообще, завязывайте господа с предоставлением хостинга...
Продавайте лучше виртуальные выделенные сервера и живите без проблем.[/QUOTE]<span id='postcolor'> Я разовью тему: надо предоставлять датацентры под ключ |