The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Ресурсы Апача, !*! 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, 11:11 , 21-Сен-06 (1)
    ограничить ресурсы для apache в limits.conf
    ограничить php скрипты в php.ini
    ограгичить cgi скрипты Rlimit*
    периодически обновлять процессы апача MaxRequestsPerChild


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

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

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

      • Ресурсы Апача, !*! skyx, 11:34 , 22-Сен-06 (3)

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

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру