獲得PHP代碼佔用內存的情況

想要知道編寫的 PHP 腳本需要佔用多少內存麼?很簡單,直接使用 PHP 查看當前分配給 PHP 腳本的內存的函數 memory_get_usage() 就可以了。

下面是使用示例:

<?php

echo memory_get_usage(), '<br />'; 		// 313864
$tmp = str_repeat('http://www.nowamagic.net/', 4000);
echo memory_get_usage(), '<br />'; // 406048
unset($tmp);
echo memory_get_usage(); 		// 313952

?>

上面的程序後面的註釋代表了它們的輸出(單位爲 byte(s)),也就是當時 PHP 腳本使用的內存(不含 memory_get_usage() 函數本身佔用的內存)。

由上面的例子可以看出,要想減少內存的佔用,可以使用 PHP unset() 函數把不再需要使用的變量刪除。類似的還有:PHP mysql_free_result() 函數,可以清空不再需要的查詢數據庫得到的結果集,這樣也能得到更多可用內存。

PHP memory_get_usage() 函數還可以有個參數,$real_usage,其值爲布爾值。默認爲 FALSE,表示得到的內存使用量不包括該函數(PHP 內存管理器)佔用的內存;當設置爲 TRUE 時,得到的內存爲不包括該函數(PHP 內存管理器)佔用的內存。

所以在實際編程中,可以用 memory_get_usage() 函數比較各個方法佔用內存的高低,來選擇使用哪種佔用內存小的方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章