Убить все процессы от скрипта и освободить пямять, растет не мерено. Как !?

Izvrat

Guest
Убить все процессы от скрипта и освободить пямять, растет не мерено. Как !?

Запистил я скрипт на сервере.
Это был поисковик, который редко абортиться.
На случай аборта в не подходящий момент использовалось
PHP:
ignore_user_abort(); 

...

if(connection_aborted()) exit();
но все чеще я видил штуку (полагаю, что изза этого ignore_user_abort()) типа такой:

Allowed memory size of 1048576 bytes exhausted (tried to allocate 341727 bytes)

пока не смог запускать скрипт вообще.
Вобщем если это все иза абортов, так я этот код убрал, только проблема в том, что не могу убить все процессы на сервере, и осободить память.

apache_child_terminate() - заблокирована (если она вообще может мне помочь), и заблокировать ее я не могу.

Подскажите пожалуста, как удаленно очистить память и убить все процессы?
PHP:
ignore_user_abort();
 

Sergikus

Guest
Проверь сколько выделяется памяти на сценарий. В php.ini
memory_limit

По умолчанию должно быть 8M Если у тебя меньше увелич этот параметр.
 

Izvrat

Guest
у меня ву скрипте стоит ini_set('memory_limit', '1M');
(поставил после появления веше указаных проблем)
но этож не выход, я так понял память будте расти.
кажеться я ставил и 8M.

-~{}~ 18.08.05 14:36:

pcntl я так понял, там идет речь, о текущем прочессе, а мне надо почистить, то, что натворил мой скрипт раньше :(
 

physh

поедатель запятых
1048576 bytes exhausted и означает 1 мб
как вариант вижу проверку того сколько у тебя памяти съедено и кидаешь закладку + выход как >> 8 mb
 

Izvrat

Guest
1048576 bytes exhausted и означает 1 мб - это понятно.

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

Скрипт по идее работает постаянно, он индексирует хтмл-страницы.
В цикле достает ссылки из базы, штук сто (LIMIT 100); ткрывает по очереди, запихивает контент и новые ссылки в базу, и чтоб потом тоже их проиндексировать. И так до остановки или прохождения всей местной зоны интернет.

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

А ошубку выдает он на ничем особо не примичаетльных строчках - при preg_replace();

-~{}~ 18.08.05 14:51:

memory_get_usage()? думаю то что надо , спасибо за совет, попробую!

-~{}~ 18.08.05 15:02:

memory_get_usage() - странная функция, в моем мануале ее нет?, парадокс - она возвращает чтото вроде "235960", при этом, таже ошибка, где говориться, и том, что 1М уже съели?
 

Sergikus

Guest
Автор оригинала: Izvrat

memory_get_usage() - странная функция, в моем мануале ее нет?, парадокс - она возвращает чтото вроде "235960", при этом, таже ошибка, где говориться, и том, что 1М уже съели?
http://ua2.php.net/manual/ru/function.memory-get-usage.php

-~{}~ 18.08.05 15:17:

Почитай статью http://phpclub.ru/detail/article/shared_memory Может там будет ответ на твой вопрос.
 
Сверху