Процесс php-cgi жрет память более отведенного лимита

123
mfl
На сайте с 16.10.2006
Offline
134
mfl
#11

netwind, так в memory_limit установлено 32 mb, а процесс потребляет примерно 300 mb

N
На сайте с 06.05.2007
Offline
419
#12

mfl, хотите сказать, что он должен был бы помереть еще на 32 мб, а мрет только на 300 ?

Какие же у вас используются расширения?

А может вы просто файлы php.ini спутали. В дебианах, например, они разные для апачей и для исполняемой программы.

Кнопка вызова админа ()
mfl
На сайте с 16.10.2006
Offline
134
mfl
#13

Если ограничение стоит на 32 мб, следовательно и помереть должен на 32 мб. а он до 300мб доходит, в общем завершается только тогда, когда поглощает всю свободную память.

Server: nginx/0.6.35

Значение устанавливал через панель ISPmanager, файл php.ini располагается в /usr/local/etc/

данные выводимые при помощи функции phpinfo, совпадают со значениями установленными в php.ini

memory_limit = 32M ;
N
На сайте с 06.05.2007
Offline
419
#14

mfl, ясно. странно. я тут как-то писал тестик curl и он как часы падал по превышению памяти именно которая memory_limit.

проверьте, что curl_close действительно вызывается всегда.

mfl
На сайте с 16.10.2006
Offline
134
mfl
#15

расширения:

Reflection.so

SPL.so

SimpleXML.so

Zend Optimizer.so

cgi-fcgi.so

ctype.so

curl.so

date.so

gd.so

hash.so

iconv.so

imap.so

libxml.so

mysql.so

pcre.so

session.so

standard.so

zlib.so

в процессе работы скрипта curl используется.

но получаемые данные при каждом запросе перезаписываются в одну и ту же переменную.

А еще какие могут быть пречины того, что игнорируется memory_limit?

N
На сайте с 06.05.2007
Offline
419
#16

mfl, отсутствие curl_close, например.

mfl
На сайте с 16.10.2006
Offline
134
mfl
#17

нет, curl_close выполняется, здесь ошибки нет.

mfl добавил 27.02.2009 в 18:04

С переодичностью в 900 секунд проверялась память в самом скрипте:

Значения параметров

memory_get_usage() колебалось в пределах 524996 - 650544

memory_get_usage(true) колебалось в пределах 1572864 - 2359296

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

Командой top отслеживалась потребляемая процессом php-cgi память.

Наблюдалось постепенное увеличение потребляемой процессом памяти, которое заканчивалось поглащением всей свободной оперативной памяти (~300mb)

У кого нибудь, есть предположения в пречинах такой утечки памяти и как с этим можно бороться?

Спасибо.

mfl добавил 27.02.2009 в 18:07

С переодичностью в 900 секунд проверялась память в самом скрипте:

Значения параметров

memory_get_usage() колебалось в пределах 524996 - 650544

memory_get_usage(true) колебалось в пределах 1572864 - 2359296

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

Командой top отслеживалась потребляемая процессом php-cgi память.

Наблюдалось постепенное увеличение потребляемой процессом памяти, которое заканчивалось поглащением всей свободной оперативной памяти (~300mb)

У кого нибудь, есть предположения в пречинах такой утечки памяти и как с этим можно бороться?

Спасибо.

mfl
На сайте с 16.10.2006
Offline
134
mfl
#18

.. сообщение добавилось к предыдущему посту

N
На сайте с 06.05.2007
Offline
419
#19

mfl, похоже, вы неправильно интерпретируете вывод top и всем задурили голову. покажите тут шапку.

а еще отсортируйте процессы по потребляемой памяти (shift-m) и тоже покажите.

vint
На сайте с 06.05.2004
Offline
208
#20

Какая версия ОС и PHP?

У меня на сентосе 5 стандартный PHP игнорировал значения локального php.ini пока не обновил PHP

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий