Edit report at https://bugs.php.net/bug.php?id=61395&edit=1
ID: 61395 User updated by: stormbyte at gmail dot com Reported by: stormbyte at gmail dot com Summary: Possible memory leak (in array copy?) -Status: Open +Status: Closed Type: Bug Package: *General Issues Operating System: Linux PHP Version: 5.4.0 Block user comment: N Private report: N New Comment: Forgot to unset($i) a variable and thus the false memory leak. Sorry Previous Comments: ------------------------------------------------------------------------ [2012-03-15 04:43:04] stormbyte at gmail dot com Description: ------------ I did found on the internet some code to have test and measure memory usage. After tweaking it a bit, I discovered that when finishes (and unsetting all vars), PHP does not go back to initial memory usage which seems a memory leak. This is the output the test script produces: Note that memory usave in Stage 1, should be equal to memory usage in Stage 8 theoretically. Test script: --------------- <?php echo "Stage 1: Mem usage is: ", memory_get_usage(), "\n"; $arr = array(); for ($i = 0; $i < 100000; ++$i) { $arr[] = rand(); } echo "Stage 2: Mem usage is: ", memory_get_usage(), "\n"; $foo = 1; $bar = 2; echo "Stage 3: Mem usage is: ", memory_get_usage(), "\n"; $foo = $arr; $bar = $arr; echo "Stage 4: Mem usage is: ", memory_get_usage(), "\n"; $arr = array(); echo "Stage 5: Mem usage is: ", memory_get_usage(), "\n"; $bar[] = "hello, world"; echo "Stage 6: Mem usage is: ", memory_get_usage(), "\n"; $foo = array(); echo "Stage 7: Mem usage is: ", memory_get_usage(), "\n"; unset($arr); unset($foo); unset($bar); flush(); echo "Stage 8: Mem usage is: ", memory_get_usage(), "\n"; ?> Expected result: ---------------- Expected output: PHP 5.4.0: Stage 1: Mem usage is: 234104 Stage 2: Mem usage is: 14883160 Stage 3: Mem usage is: 14883432 Stage 4: Mem usage is: 14883336 Stage 5: Mem usage is: 14883472 Stage 6: Mem usage is: 24732360 Stage 7: Mem usage is: 14883736 Stage 8: Mem usage is: 234104 Actual result: -------------- PHP 5.4.0: Stage 1: Mem usage is: 234104 Stage 2: Mem usage is: 14883160 Stage 3: Mem usage is: 14883432 Stage 4: Mem usage is: 14883336 Stage 5: Mem usage is: 14883472 Stage 6: Mem usage is: 24732360 Stage 7: Mem usage is: 14883736 Stage 8: Mem usage is: 234240 PHP 5.2.7: Stage 1: Mem usage is: 95520 Stage 2: Mem usage is: 13945080 Stage 3: Mem usage is: 13945352 Stage 4: Mem usage is: 13945272 Stage 5: Mem usage is: 13945480 Stage 6: Mem usage is: 23794376 Stage 7: Mem usage is: 13945680 Stage 8: Mem usage is: 95656 (Much more memory used in 5.4.0?) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=61395&edit=1