Как автоматически прибивать подвисшие процессы?
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
Как автоматически прибивать подвисшие процессы?
Есть веб-сервер на базе FreeBSD. Регулярно под апачем подвисают скрипты. Как можно сделать так, чтобы они прибивались? Сейчас регулярно запускаю самописный скрипт, который через команду ps смотрит подвисшие процессы, и прибивает их. Можно как-то настроить ОС, чтобы она сама прибивала такие процессы по достижению некоего процессорного времени?
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
Настроить login.conf для пользователя www
Z301171463546 - можно пожертвовать мне денег
- Alex Keda
- стреляли...
- Сообщения: 35454
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
проблематично....
например не работает при php в режиме фаст-цги....
например не работает при php в режиме фаст-цги....
Убей их всех! Бог потом рассортирует...
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
как варианта по крону делать, но я думаю есть варианты с suexec
Z301171463546 - можно пожертвовать мне денег
- Alex Keda
- стреляли...
- Сообщения: 35454
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
нету...
даже в стартовом скрипте через лимитс пробовал ставить - не действует....
даже в стартовом скрипте через лимитс пробовал ставить - не действует....
Убей их всех! Бог потом рассортирует...
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
едрёна кочерыга, тогда только по-крону - мега скриптом......
Z301171463546 - можно пожертвовать мне денег
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
как это делаетьсмя?
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
не прошло и полгода....
ну вот как-то так:
засовываем в крон
Вот только для этой штуки неплохобы делать renice, ну это уже другим скриптом и это совсем другая история, вернее страшная сказка на ночь, сказка про зомби.
ну вот как-то так:
Код: Выделить всё
mkdir -p /usr/local/scripts/ && cd /usr/local/scripts/; touch parser.sh
vi parser.sh
Код: Выделить всё
#!/usr/local/bin/bash
while true;
do
ps -auxx | grep httpd| grep handling | awk '{print $13}' | sort | uniq -c | sort > tt
cat tt | tail -n 1 | awk '{print $1}' > rr
File=rr
{
read line1
} < $File
q
echo "SCUKO:" $line1
if [[ $line1 -gt 7 ]]
then
cat tt | tail -n 1 | awk '{print $2}' ; echo " - GRUZILO!"
else
echo "OH YES!OH YES!"
fi
sleep 3
done;
Код: Выделить всё
chmod +x parser.sh
Код: Выделить всё
crontab -e
Код: Выделить всё
*/5 * * * * /usr/local/scripts/parser.sh
Z301171463546 - можно пожертвовать мне денег
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
а зомби как прибивать?
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
kill -9
Z301171463546 - можно пожертвовать мне денег
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
сенксЮ надо будет написать срикпт
если апаче и пхп не от инита работает...?
если апаче и пхп не от инита работает...?
- f_andrey
- майор
- Сообщения: 2651
- Зарегистрирован: 2007-12-26 1:22:58
- Откуда: СПб
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
Рекомендую взглянуть в сторону новых солярисов там они в службах SMF как раз реализуют этот функционал +отслеживание зависимости служб, жесткое, мягкое при старте при работе. технология новая и весьма навороченная но весьма любопытная. и революционная, или это эволюция
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
Вот таких вещей не нужно делать:
вот и вся эволюция.
Код: Выделить всё
int main(void) {
int i;
if (!fork()) {
_exit(0);
}
Z301171463546 - можно пожертвовать мне денег
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
извините, а что делает данный скрипт?? он по-моиму только паять прилично?zingel писал(а):не прошло и полгода....
ну вот как-то так:
Код: Выделить всё
mkdir -p /usr/local/scripts/ && cd /usr/local/scripts/; touch parser.sh vi parser.sh
Код: Выделить всё
#!/usr/local/bin/bash while true; do ps -auxx | grep httpd| grep handling | awk '{print $13}' | sort | uniq -c | sort > tt cat tt | tail -n 1 | awk '{print $1}' > rr File=rr { read line1 } < $File q echo "SCUKO:" $line1 if [[ $line1 -gt 7 ]] then cat tt | tail -n 1 | awk '{print $2}' ; echo " - GRUZILO!" else echo "OH YES!OH YES!" fi sleep 3 done;
засовываем в кронКод: Выделить всё
chmod +x parser.sh
Код: Выделить всё
crontab -e
Вот только для этой штуки неплохобы делать renice, ну это уже другим скриптом и это совсем другая история, вернее страшная сказка на ночь, сказка про зомби.Код: Выделить всё
*/5 * * * * /usr/local/scripts/parser.sh
я хотел чтобы автоматически прибивал процессы, точнне чтобы быстрее освобождал память тем процесам которые уже не работают, но наверное так нельзя...
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Как автоматически прибивать подвисшие процессы?
этот скрипт топик мастеру
или ты думал это тебе?=)
скрипт делает то о чем топик
или ты думал это тебе?=)
скрипт делает то о чем топик
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
только результата нету, load averages до 20 доскакивает
- zingel
- beastie
- Сообщения: 6204
- Зарегистрирован: 2007-10-30 3:56:49
- Откуда: Moscow
- Контактная информация:
Re: Как автоматически прибивать подвисшие процессы?
снятие нагрузки с сервера, это целая наука, за один раз ничего ен получится, нужно сидеть и выяснять что грузит, какие процессы, почему, что именно они хотят от жесткого диска, как быстро отдается контент, проводить реверс-тюнинг сетевого стека, ядра, оптимизировать настройки ПО. Если хотите, я могу посмотреть на Ваш сервер и сказать, что можно сделать, для этого нужно:
1)Связаться со мной
2)Дать мне доступ на сервер
1)Связаться со мной
2)Дать мне доступ на сервер
Z301171463546 - можно пожертвовать мне денег