Помогите разобраться в проблеме. Несколько раз в день падает httpd и сам при этом не поднимается.
(VPS, os_FedoraCore 7, RAM - 768 Mб,
Apache/2.2.8 (Unix) DAV/2 PHP/5.2.6 mod_python/3.3.1 Python/2.5 mod_ssl/2.2.8 OpenSSL/0.9.8b mod_perl/2.0.3 Perl/v5.8.8 configured)...в логах перед падением:
[Sat Dec 05 01:49:00 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 01:49:10 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 01:52:25 2009] [error] [client 77.51.57.162] Invalid method in request
[Sat Dec 05 01:58:05 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 01:58:15 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 01:58:25 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 01:58:35 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 01:58:45 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 01:58:55 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 01:59:05 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 01:59:15 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 01:59:25 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 02:36:58 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 02:37:08 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 02:37:18 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 02:37:28 2009] [emerg] (12)Cannot allocate memory: couldn't grab the accept mutex
[Sat Dec 05 02:37:28 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 02:37:38 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 02:37:48 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 02:37:58 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Sat Dec 05 02:38:08 2009] [alert] Child 9824 returned a Fatal error... Apache is exiting!
[Sat Dec 05 02:38:08 2009] [emerg] (43)Identifier removed: couldn't grab the accept mutex
[Sat Dec 05 02:38:08 2009] [emerg] (43)Identifier removed: couldn't grab the accept mutex
[Sat Dec 05 02:38:08 2009] [emerg] (43)Identifier removed: couldn't grab the accept mutex
...конфиг
etc/httpd/conf/httpd.conf
KeepAlive on
KeepAliveTimeout 5
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 50
MaxClients 50
MaxKeepAliveRequests 100
MaxRequestsPerChild 200
...
на vps висит несколько сайтов с общей посещаемостью ~1500 хостов...Помогите разобраться!!!
П.с. Можете подсказать скриптик чтобы лежал в кроне и проверял каждую минуту запущен ли апач(сам не шарю в этом нифига).
Вот этот не работает у меня:
в /etc/rc.local#!/bin/sh
while [ 0 -eq 0 ]; do
[ -z "`ps axu | grep http | grep root | grep -v grep`" ] && apachectl startssl
sleep 3
done
>П.с. Можете подсказать скриптик чтобы лежал в кроне и проверял каждую минуту
>запущен ли апач(сам не шарю в этом нифига).можете юзать для этого monit
>[оверквотинг удален]
>запущен ли апач(сам не шарю в этом нифига).
>Вот этот не работает у меня:
>в /etc/rc.local
>
>#!/bin/sh
>while [ 0 -eq 0 ]; do
>[ -z "`ps axu | grep http | grep root | grep
>-v grep`" ] && apachectl startssl
>sleep 3
>doneМожет лучше причину устранить, чем следствие лечить?
>Может лучше причину устранить, чем следствие лечить?Это я так на первое время, пока не найду причину. А то сервер по 10 часов в сутки лежит...
Нанять админа?
Ошибка возникает, как я понял,из-за превышения значения kmemsize (cat /proc/user_beancounters)... И не чего с этим поделать не могу...
Осталось только поставить авторестарт апача через крон... поставил,работает...
Возникла другая проблемма захожу сегодня панель управления своим впс, а там весь мой контейнер находится в состоянии stop(вирт. Virtuozzo)...
Мог ли он сам остановится или его кто-то остановил??? Стоит ли мне менять пароли или что??? Подскажите!!!
>[оверквотинг удален]
>запущен ли апач(сам не шарю в этом нифига).
>Вот этот не работает у меня:
>в /etc/rc.local
>
>#!/bin/sh
>while [ 0 -eq 0 ]; do
>[ -z "`ps axu | grep http | grep root | grep
>-v grep`" ] && apachectl startssl
>sleep 3
>doneКто Вы??? Системный администратор? Вы пытались произвести оптмизацию производительности в httpd.conf? отключите keepalive для начала.
>Кто Вы??? Системный администратор? Вы пытались произвести оптмизацию производительности в httpd.conf? отключите
>keepalive для начала.Я обычный смертный! Да я пытался произвести оптимизацию в httpd.conf... keepalive раньше был выключен, это я его включил(да и почему его нужно выключить, ведь KeepAliveTimeout всего 5 секунд). С выключенным keepalive ошибки все теже!
>>Кто Вы??? Системный администратор? Вы пытались произвести оптмизацию производительности в httpd.conf? отключите
>>keepalive для начала.
>
>Я обычный смертный! Да я пытался произвести оптимизацию в httpd.conf... keepalive раньше
>был выключен, это я его включил(да и почему его нужно выключить,
>ведь KeepAliveTimeout всего 5 секунд). С выключенным keepalive ошибки все теже!
>Исходите из дефолтного конфига. смотрите логи и анализируйте на каком месте не хватает ресурсов. Оптимизировать и настраивать желательно не рабочий сервер, а его локальную копию желательно та таком железе на котором будет боевой сервер. произвотильность хорошо мерять утилитой Jmeter http://jakarta.apache.org/jmeter/. Напсана на яве, очень гибкая и позволяет сотней способов положить сервер, хорошо документирована. по оптимизации почитайте что нибудь:
http://greenmice.info/ru/node/98
http://www.ibm.com/developerworks/ru/library/l-tune-lamp-2/l...
http://www.opennet.me/tips/sml/83.shtml
Найдите бутылочное горлышко в Вашей конфигурации, если слабое место php скрипты то поставте eaccelerator например и займитесь оптимизацией php. Если база, то базой. Пишите о результатах, чем сможем поможем. Удачи.
>>был выключен, это я его включил(да и почему его нужно выключить,
>>ведь KeepAliveTimeout всего 5 секунд). С выключенным keepalive ошибки все теже!
>>И вобще странная активность как для глубокой ночи, похоже на Dos.