PDA

Просмотр полной версии : Автозавершение процессов httpd



plan
06.08.2009, 05:06
Здравствуйте!
Столкнулся с проблемой, куча процессов apache которые висят сутками! Причем не в скриптах дело т.к там процессы html или даже картинки типа jpg. Пытался настроить apache пока без результатов! Один знакомый сказал может дело в ISPmanager? Но у меня 2 сервера и на обоих такая проблема с разными движками и как писал выше html страницами даже! Стоит ISPlite, CentOC, apache 2. Думаю может у кого есть система авто kill процессов, типа ставишь в ней убивать процессы жёстко дольше 30 минут. Готов купить!

vadim s. sabinich
06.08.2009, 07:27
У вас некоторое количество статического материала и хорошее посещение? процессы apache "форкаются" на каждый такой запрос. Если посещение/запросы увеличить, то ваш сервер может просто упасть по причине отсутствия свободной ОЗУ. Думаю, один ваш знакомый хотел предположить именно это, а так же вспомнить, что в ISPmanager, в разделе "Возможности" есть функция активироваться nginx, которая снимет напряжение и суточные отвисания "веб-сервера".
Нужно не только решать проблему, но и искать причину ее возникновения.

plan
06.08.2009, 08:09
Материал разный, движки разные, дело не посещаемости! Процесс может зависнуть на сайте где 10 уников в сутки и висеть 2-3 дня. Озу 8гб. Хотел бы всё таки какой то скрипт уничтожения таких процессов висящих более скажем 30 минут.

art
06.08.2009, 08:59
Только самому писать скрипт со своими критериями. Так же стоит учесть что еще есть родительские процессы. Которые не должны убиваться не зависимо от времени работы.

vadim s. sabinich
06.08.2009, 11:12
Я сильно не вчитывался, но относительно вашего вопроса, думаю, это может помочь
http://www.webmasterworld.com/apache/3879904.htm

plan
07.08.2009, 02:49
2art
Мне нужно убивать именно процессы http, прочие процессы меня не интересуют.

2vadim s. sabinich
Спасибо, почитаю!

Telod
18.08.2009, 22:46
Здравствуйте!
Имею такую же проблему с подвисшими процессами httpd. Nginx включен! Нагрузка на Apache вообще минимальная.

Независимо от настроек параметров prefork:
MinSpareServers
MaxSpareServers
MaxRequestsPerChild

некоторые чилды просто подвисают, резервируя память. Процессор при этом не "трогают" вообще. Со временем таких чилдов становится все больше и больше до тех пор пока не кончится доступная память.

Если долго наблюдать за обновлениями top, то видно нормальную работу apache. Чилды создаются когда надо и килятся, когда не надо, в зависимости от настроек. Но время от времени появляются "ненормальные" чилды. Такое ошущение, что мастер-процесс про них забывает.

Бьюсь уже третий день. Отключил все ненужные модули. PHP работает как модуль. Что интересно, сайт на таком же движке на другом сервере без ISP работает нормально. Ни разу не наблюдал такого.
Перегружать сервер каждый день как-то не улыбается. Прошу помочь. Спасибо.

klerick
27.01.2010, 07:22
Думаю, тема до сих пор актуальна

tuupic
27.01.2010, 09:50
Памяти хватает на сервере? Скорее всего, master процесс апача умирает, новый запускается мониторингом, и соответственно, новый master о child`ах старого ничего не знает.

semmy
27.01.2010, 13:25
ставьте monit, он следит за вашими серверами (например апач) по нескольким критериям: занятое ОЗУ, кол-во деток, загрузка цпу, доступность.... и по каждому из таких правил выполняет то или иное действие.
легкий в установке, понятный, имеет веб интерфейс.

но он не следит за подвисшими детками...

ls
27.01.2010, 13:47
Отключите KeepAlive и поставьте MaxRequestsPerChild 5000, думаю отключение KeepAlive точно решит проблему.

klerick
29.01.2010, 10:30
У нас к примеру на сервере памяти 8 Гб + 6Гб файла подкачки. После перезагрузки сервера памяти потредляется 600 метров максимум, а то и 500. Постепенно эта цифра растет. Через 2-3 дня она достигает 4 Гб. При этом раньше KeepAlive был отключен, аналогично все происходило. Правда, конечно, период не 2-3 дня был, а побольше. Глядя в топ, вроде все стандартно работает и процессы исчезают, нет зомби и т.д. Но время показывает обратное.

semmy
31.01.2010, 23:07
а что показывает free ?
память может быть занята под кеш другим(и) процессом(-ами).
я с таким борюсь посредством monit

klerick
08.02.2010, 07:46
free показывает оставшееся место. Точно не считал но примерно равно разнице между общим и занятым местом.
а monit что вообще выполняет или какие функции реализует? может кто ссылочку кинет на описание, да как установить лучше и с какими параметрами. :)
А вообще хотелось бы, чтобы автоматически это все было, а не руками каждый день лезть и долбить процессы. На данный момент периодически просто сервак приходится перезагружать, но это тем более не вариант.

Help
15.02.2010, 19:24
free показывает оставшееся место. Точно не считал но примерно равно разнице между общим и занятым местом.
а monit что вообще выполняет или какие функции реализует? может кто ссылочку кинет на описание, да как установить лучше и с какими параметрами. :)
А вообще хотелось бы, чтобы автоматически это все было, а не руками каждый день лезть и долбить процессы. На данный момент периодически просто сервак приходится перезагружать, но это тем более не вариант.

Добрый день.

Как-то решили проблему с зависшими апачами ?

klerick
18.02.2010, 08:45
Пока только путем запуска автоматического скрипта перезагрузки сервера в то время, когда народа нет на нем.