powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Опять free memory ...
6 сообщений из 6, страница 1 из 1
(PHP) Опять free memory ...
    #32907717
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем!

Может ктото обяснить почему такой результат ?
У меня PHP Version 4.3.9 SuSE Linux 9.0 и результат 0.0167083740234.
Почему память не освобождается полностю?
Я понимаю что ето не много, но все же при добавлении test3(); память растет.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
<?
$m1 = memory_get_usage();	

test3();
test3();
test3();
test3();
test3();


echo (memory_get_usage() - $m1)/( 1024 * 1024 );	

function &test(){

	$a = array();
	for($i =  0 ; $i <  10 ; $i++){
		$b = &$a[$i];
		$b = array();
		for($j =  0 ; $j <  100 ; $j++){
			$c = &$b[$j];
			$c = array();
			for($k =  0 ; $k <  100 ; $k++){
				$c[] = $k;
			}
		}
	}

	return $a;
	
} // end function test	

function test2( &$a ){

	for($i =  0 ; $i <  10 ; $i++){
		for($j =  0 ; $j <  100 ; $j++){
			for($k =  0 ; $k <  100 ; $k++){
				$a[$i][$j][$k]=NULL;
			}
			$a[$i][$j]=NULL;
		}
		$a[$i]=NULL;
	}
	$a=NULL; 

} // end function test2	

function test3(){

	for($i =  0 ; $i <  10 ; $i++){
	
		$a = test();
		test2($a);
		
	}
	
} // end function test3
	
?>
...
Рейтинг: 0 / 0
(PHP) Опять free memory ...
    #32907913
Knight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, если ты посмотришь, даже в мануле по php память не освобождется полность, и ни кто не бьёт тревогу:
http://i.org.ua/doc/php/function.memory-get-usage.html
Возможно это какое-то остаточное явление и наверное когда скрипт полностью завершится, она и освободится окончательно...
И кстати ещё сама функция echo (memory_get_usage() - $m1)/(1024*1024); при выполнении тоже должна ведь какую-то память занимать...
...
Рейтинг: 0 / 0
(PHP) Опять free memory ...
    #32909921
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
просто у меня один скрипт вилетает изза нехватки памяти(растет от величины проекта),
и я не знаю, то ли гдето я пропустил освобождения памяти(уже проходился по всех скриптах), то ли надо искать другие пути ...

А все что я делаю , ето

for( $i=0; $i<$n; $i++ ) {

1) беру дание из БД в array
2) обрабатываю array
3) освобождаю array

в результате не освобождается приблизительно 0.1 М памяти

}

Может ктото сталкивался с такими проблемами ?

п.с. чтото мне не очень нравится такой подход

for( $i=0; $i<$n; $i++ ) {

$fp = fopen('http://{somepath}/test.php?id='.$id, 'r');
fread( $fp , 1000 );
fclose($fp);

}
...
Рейтинг: 0 / 0
(PHP) Опять free memory ...
    #32914495
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
разве ни у кого не было такой проблемы?
...
Рейтинг: 0 / 0
(PHP) Опять free memory ...
    #32914684
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с какой СУБД работаешь ?
Если mysql - попробуй подобавлять mysql_free_result()
Или посмотри похожую функцию под свою СУБД
...
Рейтинг: 0 / 0
(PHP) Опять free memory ...
    #32915018
Okram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Макс М.с какой СУБД работаешь ?
Если mysql - попробуй подобавлять mysql_free_result()
Или посмотри похожую функцию под свою СУБД

так и делаю
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Опять free memory ...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]