PHP管理內(nèi)存函數(shù) memory_get_usage()使用介紹
更新時(shí)間:2012年09月23日 22:50:55 作者:
我們在實(shí)際編碼中,要想實(shí)現(xiàn)對內(nèi)存的查看和操作,許多程序員們第一個(gè)想到的就是PHP memory_get_usage()這個(gè)PHP腳本內(nèi)存函數(shù)
下面是PHP memory_get_usage()使用示例:
echo memory_get_usage(), '<br />'; //143952
$tmp = str_repeat('http://blog.micxp.com/', 4000);
echo memory_get_usage(), '<br />'; //232048
unset($tmp);
echo memory_get_usage(); //143952
上面的程序后面的注釋代表了它們的輸出(單位為 byte(s)),也就是當(dāng)時(shí) PHP 腳本使用的內(nèi)存(不含 memory_get_usage() 函數(shù)本身占用的內(nèi)存)
由上面的例子可以看出,要想減少內(nèi)存的占用,可以使用 PHP unset() 函數(shù)把不再需要使用的變量刪除。類似的還有:PHP mysql_free_result() 函數(shù),可以清空不再需要的查詢數(shù)據(jù)庫得到的結(jié)果集,這樣也能得到更多可用內(nèi)存。
PHP memory_get_usage()還可以有個(gè)參數(shù),$real_usage,其值為布爾值。默認(rèn)為 FALSE,表示得到的內(nèi)存使用量不包括該函數(shù)(PHP 內(nèi)存管理器)占用的內(nèi)存;當(dāng)設(shè)置為 TRUE 時(shí),得到的內(nèi)存為包括該函數(shù)(PHP 內(nèi)存管理器)占用的內(nèi)存。
所以在實(shí)際編程中,可以用PHP memory_get_usage()比較各個(gè)方法占用內(nèi)存的高低,來選擇使用哪種占用內(nèi)存小的方法。
常用的檢測:
用microtime函數(shù)就可以分析程序執(zhí)行時(shí)間
memory_get_usage可以分析內(nèi)存占用空間
SQL的效率可以使用打開慢查詢查看日志分析
SQL 找到有瓶頸的使用EXPLAIN 來分析
復(fù)制代碼 代碼如下:
echo memory_get_usage(), '<br />'; //143952
$tmp = str_repeat('http://blog.micxp.com/', 4000);
echo memory_get_usage(), '<br />'; //232048
unset($tmp);
echo memory_get_usage(); //143952
上面的程序后面的注釋代表了它們的輸出(單位為 byte(s)),也就是當(dāng)時(shí) PHP 腳本使用的內(nèi)存(不含 memory_get_usage() 函數(shù)本身占用的內(nèi)存)
由上面的例子可以看出,要想減少內(nèi)存的占用,可以使用 PHP unset() 函數(shù)把不再需要使用的變量刪除。類似的還有:PHP mysql_free_result() 函數(shù),可以清空不再需要的查詢數(shù)據(jù)庫得到的結(jié)果集,這樣也能得到更多可用內(nèi)存。
PHP memory_get_usage()還可以有個(gè)參數(shù),$real_usage,其值為布爾值。默認(rèn)為 FALSE,表示得到的內(nèi)存使用量不包括該函數(shù)(PHP 內(nèi)存管理器)占用的內(nèi)存;當(dāng)設(shè)置為 TRUE 時(shí),得到的內(nèi)存為包括該函數(shù)(PHP 內(nèi)存管理器)占用的內(nèi)存。
所以在實(shí)際編程中,可以用PHP memory_get_usage()比較各個(gè)方法占用內(nèi)存的高低,來選擇使用哪種占用內(nèi)存小的方法。
常用的檢測:
用microtime函數(shù)就可以分析程序執(zhí)行時(shí)間
memory_get_usage可以分析內(nèi)存占用空間
SQL的效率可以使用打開慢查詢查看日志分析
SQL 找到有瓶頸的使用EXPLAIN 來分析
您可能感興趣的文章:
- PHP中使用unset銷毀變量并內(nèi)存釋放問題
- 如何獲知PHP程序占用多少內(nèi)存(memory_get_usage)
- 深入探討PHP中的內(nèi)存管理問題
- 解析PHP中的內(nèi)存管理,PHP動(dòng)態(tài)分配和釋放內(nèi)存
- 解析PHP中的unset究竟會(huì)不會(huì)釋放內(nèi)存
- PHP通過內(nèi)置函數(shù)memory_get_usage()獲取內(nèi)存使用情況
- php頁面消耗內(nèi)存過大的處理辦法
- PHP內(nèi)存使用情況如何獲取
- php在windows環(huán)境下獲得cpu內(nèi)存實(shí)時(shí)使用率(推薦)
- php查詢內(nèi)存信息操作示例
相關(guān)文章
安裝apache2.2.22配置php5.4(具體操作步驟)
本篇文章是對安裝apache2.2.22配置php5.4的具體操作步驟進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
使用Xdebug調(diào)試和優(yōu)化PHP程序之[1]
使用Xdebug調(diào)試和優(yōu)化PHP程序之[1]...2007-04-04
PHP編程獲取音頻文件時(shí)長的方法【基于getid3類】
這篇文章主要介紹了PHP編程獲取音頻文件時(shí)長的方法,通過引入第三方getid3類來實(shí)現(xiàn)操作音頻文件的功能,需要的朋友可以參考下2017-04-04
php項(xiàng)目開發(fā)中用到的快速排序算法分析
這篇文章主要介紹了php項(xiàng)目開發(fā)中用到的快速排序算法,結(jié)合實(shí)例形式詳細(xì)分析了php快速排序的原理與使用方法,需要的朋友可以參考下2016-06-06
原生PHP實(shí)現(xiàn)導(dǎo)出csv格式Excel文件的方法示例【附源碼下載】
這篇文章主要介紹了原生PHP實(shí)現(xiàn)導(dǎo)出csv格式Excel文件的方法,結(jié)合實(shí)例形式分析了基于原生php實(shí)現(xiàn)的Excel文件操作類進(jìn)行Excel文件的導(dǎo)出操作相關(guān)實(shí)現(xiàn)技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下2019-03-03

