URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 4366
[ Назад ]

Исходное сообщение
"Ресурсы Апача"

Отправлено micis , 21-Сен-06 03:48 
Имеется apache 2.0.48 на solaris 9
Периодически имею отъедание всей памяти апачем.
Вот что видно через несколько минут после старта:

#top -U nobody
48 processes:  47 sleeping, 1 on cpu
CPU states:     % idle,     % user,     % kernel,     % iowait,     % swap
Memory: 512M real, 234M free, 270M swap in use, 2128M swap free

   PID USERNAME LWP PRI NICE  SIZE   RES STATE    TIME    CPU COMMAND
  1269 nobody     1  59    0   15M 3192K sleep    0:00  0.03% httpd
  1261 nobody     1  59    0   15M 3192K sleep    0:00  0.02% httpd
  1268 nobody     1  59    0   15M 3192K sleep    0:00  0.02% httpd
  1266 nobody     1  59    0   15M 3192K sleep    0:00  0.02% httpd
  1260 nobody     1  59    0   15M 3192K sleep    0:00  0.01% httpd
  1259 nobody     1  59    0   15M 3192K sleep    0:00  0.01% httpd
29912 nobody     1  59    0  137M  123M sleep    0:36  0.00% httpd
  1208 nobody     1  59    0   15M 5432K sleep    0:00  0.00% httpd

(обратите внимание на процесс 29912!)

Ну а после пол дня работы в колонке SIZE везде стоит 130-140 метров. И естественно, система уже еле шевелится, т.к. весь своп занят :(
Причём те процессы, которые столько "жрут", активными не являются (проверял по lsof).

Вначале была мысль, что кто-то хакает нас, но в логах ничего подозрительного нет (а может плохо смотрел?). Единственно, остались подозрения на разных роботов и поисковиков: очень много "отъедания" происходит после соединений от ljxxxxxx.inktomisearch.com

Уже в конфиг вставил:
<IfModule prefork.c>
...
MaxMemFree              10240
</IfModule>
Но не помогло.

Гуру, что посоветуете сделать?


Содержание

Сообщения в этом обсуждении
"Ресурсы Апача"
Отправлено skyx , 21-Сен-06 11:11 
ограничить ресурсы для apache в limits.conf
ограничить php скрипты в php.ini
ограгичить cgi скрипты Rlimit*
периодически обновлять процессы апача MaxRequestsPerChild



"Ресурсы Апача"
Отправлено micis , 22-Сен-06 05:55 
>ограничить ресурсы для apache в limits.conf
У меня, как я написал, солярка - там нет такого файла (хотя есть /etc/system). Но вряд ли это поможет - система не ограничивает апач ни в чём - он сам отъедает всю память.
Да если и ограничить ему использование памяти - будет он постоянно ругаться о нехватке ресурсов и точно так же не работать!

>ограничить php скрипты в php.ini
>ограгичить cgi скрипты Rlimit*
Что именно надо сделать?

>периодически обновлять процессы апача MaxRequestsPerChild
Что значит "периодически обновлять"?


"Ресурсы Апача"
Отправлено skyx , 22-Сен-06 11:34 

>>ограничить php скрипты в php.ini
>>ограгичить cgi скрипты Rlimit*
>Что именно надо сделать?
найти файл php.ini и настроить в нем переменные
max_execution_time
memory_limit

В конфиге апача прописать опции Rlimit*, предварительно прочитав о них на сайте апача
>
>>периодически обновлять процессы апача MaxRequestsPerChild
>Что значит "периодически обновлять"?
Каждый процесс апача обрабатывает определенное кол-во запросов, после чего убивается и вместо него порождается новый. Помогает, если какой то процесс не освобождает память - то через некоторое время он все равно завершиться