Утечка памяти в скриптах на сервере под apache?

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Утечка памяти в скриптах на сервере под apache?

Сообщение SLEDopit »

Несколько сайтов хостятся на сервере под freebsd.
Постоянно сыпятся ошибки в духе:

Код: Выделить всё

[Fri Dec 25 12:52:30 2009] [warn] mod_fcgid: stderr: PHP Fatal error:  Out of memory (allocated 1310720) (tried to allocate 1245184 bytes) in /usr/home/user/data/www/site.ru/includes/classes/seo.class.php(2701) : eval()'d code on line 1366
Не так давно планку памяти поднимали из-за точно такой проблемы.
Сегодня хостер сказал, что и так все настройки по максимуму:

Код: Выделить всё

Resource limits for class hi:
cputime 30 secs
filesize 1048576 kB
datasize 131072 kB
stacksize 24576 kB
coredumpsize 0 kB
memoryuse 65536 kB
memorylocked 24576 kB
maxprocesses 8
openfiles 32
sbsize infinity bytes
vmemoryuse 65536 kB
и поднимать что-либо дальше не имеет смысла. У меня, якобы, где-то утечка памяти.
Крутятся несколько сайтов на джумле, оскоммерси и один на wp. Самописных движков нет.
Так же для сравнения хостер дал посмотреть использование памяти у меня и у другого пользователя на этом же сервере:

Код: Выделить всё

37628 другой_юзер 1 4 0 20400K 11844K accept 1 0:09 0.59% php-cgi
38868 я 1 4 0 55352K 46916K accept 1 0:05 0.49% php-cgi
причем, как утверждает хостер, у другого пользователя 7-8 тысяч юников в сутки.
php работает, насколько мне известно, через fastcgi. никаких mod_php.

собственно вопрос: если это и правда утечка, каким образом ее можно обнаружить?
если же это не утечка, то почему может быть такая постоянная нехватка памяти?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Утечка памяти в скриптах на сервере под apache?

Сообщение Ленивая Бестолочь »

размер максимально доступной памяти в php.ini не смотрели?
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Утечка памяти в скриптах на сервере под apache?

Сообщение SLEDopit »

Код: Выделить всё

%pwd
/usr/home/user/data/php-bin
%cat php.ini | grep memory
memory_limit = 128M

Код: Выделить всё

%pwd
/usr/local/etc
%cat php.ini | grep memory
memory_limit = 128M   ; Maximum amount of memory a script may consume (128MB)
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Утечка памяти в скриптах на сервере под apache?

Сообщение Frank »

вот этот ваш site.ru на каком движке?
Изображение
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Утечка памяти в скриптах на сервере под apache?

Сообщение SLEDopit »

Frank писал(а):
25.12.2009 17:40
вот этот ваш site.ru на каком движке?
oscommerce
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Утечка памяти в скриптах на сервере под apache?

Сообщение SLEDopit »

только что-то я сомневаюсь, что тут дело в движке:

Код: Выделить всё

%foreach i ( `ls *error.log` )
foreach? echo $i
foreach? cat $i | grep -i memory | wc -l
foreach? end
site1.ru.error.log (joomla)
     146
site2.ru.error.log (joomla)
      82
site3.ru.error.log (oscommerce)
      21
site4.ru.error.log (joomla)
     250
forum.site.ru.error.log (phpbb)
     181
forum.site_mirror.ru.error.log (phpbb)
      62
site5.ru.error.log (joomla)
       2
site6.ru.error.log
     175
site7.ru.error.log (joostina)
    7564
site8.ru.error.log (danneo)
       3
site9.ru.error.log (nothing)
       0
site.ru.error.log (oscommerce) //самый посещаемый
    1096
site_mirror.ru.error.log (oscommerce)
     298
site10.ru.error.log (joomla)
      25
site11.ru.error.log (joomla)
     101
site12.ru.error.log (joomla)
     765
site13.ru.error.log (joomla)
       2
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали: