php5.2.0的記憶體管理做了較大的改進,某些情況下記憶體不能釋放的問題就不存在了。
測試php腳本(mem.php),我用echo N>>和sleep來控制腳本在某個階段暫停以便檢測狀態。
複製程式碼 程式碼如下:
echo '1>>'; 5);
$o = array();
for ($i=0;$i $o[]='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 🎜>echo '2>>';
sleep(5);
unset($o);
echo '3>>';
while (true) { '3>>';
while (true) { <. .> sleep(10);
}
?>
監控記憶體使用情況的bash script(注意:裡面的」mem」是取自上面的php腳本名稱) :
while true;do clear;ps au|grep -v "(vi|grep)"|grep "(mem|RSS)";sleep 2;done;
以下是$/usr/local/bin /php mem.php這個進程在三種狀態(數組創建前,數組創建後,數組銷毀後)下,用5.1.6和5.2.0的PHP(我使用了一樣的configure參數)測試的RSS(內存使用值,單位KB)結果。