采用PHP函數(shù)memory_get_usage獲取PHP內存清耗量的方法
更新時間:2011年12月06日 01:10:20 作者:
PHP性能優(yōu)化過程中需要獲取PHP內存消耗,使用memory_get_usage()函數(shù)可獲取當前的內存消耗情況,函數(shù)使用簡單,這里討論一下memory_get_usage()函數(shù)的用法與實例
一,函數(shù)原型
int memory_get_usage ([ bool $real_usage = false ] )
二,版本兼容
PHP 4 >= 4.3.2, PHP 5
三,基礎用法與實例
1,獲取當前的內存消耗量
<?php
echo memory_get_usage();
$var = str_repeat("liuhui", 10000);
echo memory_get_usage();
unset($var);
echo memory_get_usage();
?>
分別輸出:62328 122504 62416
說明:memory_get_usage()函數(shù)輸出的數(shù)值為bytes單位
2,格式化memory_get_usage()輸出
<?php
function convert($size){
$unit=array('b','kb','mb','gb','tb','pb');
return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];
}
echo convert(memory_get_usage(true));
?>
輸出:256 kb
3,自定義函數(shù)獲取數(shù)組或變量值大小
<?php
function array_size($arr) {
ob_start();
print_r($arr);
$mem = ob_get_contents();
ob_end_clean();
$mem = preg_replace("/\n +/", "", $mem);
$mem = strlen($mem);
return $mem;
}
$memEstimate = array_size($GLOBALS);
?>
參考資料:http://cn.php.net/manual/en/function.memory-get-usage.php
int memory_get_usage ([ bool $real_usage = false ] )
二,版本兼容
PHP 4 >= 4.3.2, PHP 5
三,基礎用法與實例
1,獲取當前的內存消耗量
復制代碼 代碼如下:
<?php
echo memory_get_usage();
$var = str_repeat("liuhui", 10000);
echo memory_get_usage();
unset($var);
echo memory_get_usage();
?>
分別輸出:62328 122504 62416
說明:memory_get_usage()函數(shù)輸出的數(shù)值為bytes單位
2,格式化memory_get_usage()輸出
復制代碼 代碼如下:
<?php
function convert($size){
$unit=array('b','kb','mb','gb','tb','pb');
return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];
}
echo convert(memory_get_usage(true));
?>
輸出:256 kb
3,自定義函數(shù)獲取數(shù)組或變量值大小
復制代碼 代碼如下:
<?php
function array_size($arr) {
ob_start();
print_r($arr);
$mem = ob_get_contents();
ob_end_clean();
$mem = preg_replace("/\n +/", "", $mem);
$mem = strlen($mem);
return $mem;
}
$memEstimate = array_size($GLOBALS);
?>
參考資料:http://cn.php.net/manual/en/function.memory-get-usage.php
您可能感興趣的文章:
- PHP 內存緩存加速功能memcached安裝與用法
- PHP數(shù)組內存耗用太多問題的解決方法
- 訪問php時提示內存位置訪問無效的解決辦法和思路分析
- PHP中使用unset銷毀變量并內存釋放問題
- phpExcel導出大量數(shù)據(jù)出現(xiàn)內存溢出錯誤的解決方法
- 關于PHP內存溢出問題的解決方法
- 解析PHP中的內存管理,PHP動態(tài)分配和釋放內存
- 解析PHP中的unset究竟會不會釋放內存
- php統(tǒng)計時間和內存使用情況示例分享
- php出現(xiàn)內存位置訪問無效錯誤問題解決方法
- PHP腳本內存泄露導致Apache頻繁宕機解決方法
- PHP通過內置函數(shù)memory_get_usage()獲取內存使用情況
- php查詢mysql大量數(shù)據(jù)造成內存不足的解決方法
- php實現(xiàn)讀取內存順序號
- 解決PHP里大量數(shù)據(jù)循環(huán)時內存耗盡的方法
- PHP內存使用情況如何獲取
相關文章
詳談php ip2long 出現(xiàn)負數(shù)的原因及解決方法
下面小編就為大家?guī)硪黄斦刾hp ip2long 出現(xiàn)負數(shù)的原因及解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
PHP基于數(shù)組實現(xiàn)的堆棧和隊列功能示例
這篇文章主要介紹了PHP基于數(shù)組實現(xiàn)的堆棧和隊列功能,結合實例形式分析了php基于數(shù)組的array_push()、array_pop()、array_shift()等函數(shù)實現(xiàn)堆棧與隊列的入棧、出棧以及隊列的添加、刪除等相關操作技巧,需要的朋友可以參考下2018-01-01

