采用PHP函数memory_get_usage获取PHP内存清耗量的方法

yipeiwu_com6年前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()函数输出的数值为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,自定义函数获取数组或变量值大小
复制代码 代码如下:

<?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写的小东西

一些小东西有时候可能用得上!  1.得到客户端IP地址  function getip(){      &...

Windows2003下php5.4安装配置教程(IIS)

Windows2003下php5.4安装配置教程(IIS)

本文与《Windows2003下php5.4安装配置教程(Apache2.4)》(点击打开链接)为姊妹篇,只是php所用的服务器有点不同,这里一个是Apache2.4,一个是Window...

php如何实现不借助IDE快速定位行数或者方法定义的文件和位置

php 如何实现不借助IDE快速定位行数或者方法定义的文件和位置 借助了ReflectionMethod的一些特性,可以快速获得函数或者方法是在哪个文件的什么位置定义的,对于调试没有文档...

PHP编程过程中需要了解的this,self,parent的区别

{一}PHP中this,self,parent的区别之一this篇 面向对象编程(OOP,Object Oriented Programming)现已经成为编程人员的一项基本技能。利用O...

php中curl、fsocket、file_get_content三个函数的使用比较

抓取远程内容,之前一直都在用file_get_content函数,其实早就知道有curl这么一个好东西的存在,但是看了一眼后感觉使用颇有些复杂,没有file_get_content那么简...