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

Может ктото обяснить почему такой результат ?
У меня 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
09.02.2005, 12:38
    #32907913
Knight
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Опять free memory ...
Кстати, если ты посмотришь, даже в мануле по php память не освобождется полность, и ни кто не бьёт тревогу:
http://i.org.ua/doc/php/function.memory-get-usage.html
Возможно это какое-то остаточное явление и наверное когда скрипт полностью завершится, она и освободится окончательно...
И кстати ещё сама функция echo (memory_get_usage() - $m1)/(1024*1024); при выполнении тоже должна ведь какую-то память занимать...
...
Рейтинг: 0 / 0
10.02.2005, 12:26
    #32909921
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Опять free memory ...
просто у меня один скрипт вилетает изза нехватки памяти(растет от величины проекта),
и я не знаю, то ли гдето я пропустил освобождения памяти(уже проходился по всех скриптах), то ли надо искать другие пути ...

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

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
14.02.2005, 15:28
    #32914495
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Опять free memory ...
разве ни у кого не было такой проблемы?
...
Рейтинг: 0 / 0
14.02.2005, 16:23
    #32914684
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Опять free memory ...
с какой СУБД работаешь ?
Если mysql - попробуй подобавлять mysql_free_result()
Или посмотри похожую функцию под свою СУБД
...
Рейтинг: 0 / 0
14.02.2005, 18:19
    #32915018
Okram
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Опять free memory ...
Макс М.с какой СУБД работаешь ?
Если mysql - попробуй подобавлять mysql_free_result()
Или посмотри похожую функцию под свою СУБД

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


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