PHP管理內(nèi)存函數(shù) memory_get_usage()使用介紹
更新時(shí)間:2012年09月23日 22:50:55 作者:
我們?cè)趯?shí)際編碼中,要想實(shí)現(xiàn)對(duì)內(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)存小的方法。
常用的檢測(cè):
用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)存小的方法。
常用的檢測(cè):
用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)文章
PHP共享內(nèi)存使用與信號(hào)控制實(shí)例分析
這篇文章主要介紹了PHP共享內(nèi)存使用與信號(hào)控制,結(jié)合實(shí)例形式分析了php基于shmop擴(kuò)展實(shí)現(xiàn)共享內(nèi)存的進(jìn)程間通信以及信號(hào)控制等相關(guān)操作技巧,需要的朋友可以參考下2018-05-05PHP隨機(jī)數(shù)函數(shù)rand()與mt_rand()的講解
今天小編就為大家分享一篇關(guān)于PHP隨機(jī)數(shù)函數(shù)rand()與mt_rand()的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03PHP實(shí)現(xiàn)網(wǎng)絡(luò)請(qǐng)求的方法總結(jié)
對(duì)于php發(fā)送網(wǎng)絡(luò)請(qǐng)求,我們最常用的請(qǐng)求就是curl,有時(shí)我們也會(huì)用到file_get_contents函數(shù)發(fā)送網(wǎng)絡(luò)請(qǐng)求。本文為大家總結(jié)了php實(shí)現(xiàn)網(wǎng)絡(luò)請(qǐng)求的方法及函數(shù),感興趣的可以學(xué)習(xí)一下2022-06-06解析:使用php mongodb擴(kuò)展時(shí) 需要注意的事項(xiàng)
本篇文章是對(duì)使用php mongodb擴(kuò)展時(shí),需要注意的事項(xiàng)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP跨平臺(tái)獲取服務(wù)器IP地址自定義函數(shù)分享
這篇文章主要介紹了PHP跨平臺(tái)獲取服務(wù)器IP地址自定義函數(shù)分享,本文函數(shù)會(huì)根據(jù)系統(tǒng)類型選擇不同的命令來獲取服務(wù)器的IP地址,需要的朋友可以參考下2014-12-12php中用date函數(shù)獲取當(dāng)前時(shí)間有誤的解決辦法
以下是對(duì)php中用date函數(shù)獲取當(dāng)前時(shí)間有誤的解決辦法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-08-08