background image

PHP

 

内存管理函数

memory_get_usage()使用介绍

PHP

 

内存管理函数

memory_get_usage()的应用介绍,供大家学习参考。

实际编码中,要想实现对内存的查看和操作,第一个想到的就是

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

 

)),也就是当时

PHP 脚本使

 

用的内存(不含

memory_get_usage() 函数本身占用的内存)

由上面的例子可以看出,要想减少内存的占用,可以使用

 PHP unset() 函数把不再需要使用

的变量删除。类似的还有:

PHP mysql_free_result() 函数,可以清空不再需要的查询数据库

得到的结果集,这样也能得到更多可用内存。

PHP memory_get_usage()还可以有个参数,$real_usage

 

,其值为布尔值。默认为

FALSE,表

示得到的内存使用量不包括该函数(

PHP 

 

内存管理器)占用的内存;当设置为

TRUE 时,

得到的内存为包括该函数(

PHP 内存管理器)占用的内存。

所以在实际编程中,可以用

PHP memory_get_usage()比较各个方法占用内存的高低,来选

择使用哪种占用内存小的方法。

常用的检测:

1.用 microtime 函数就可以分析程序执行时间

2.memory_get_usage 可以分析内存占用空间

3.SQL 的效率可以使用打开慢查询查看日志分析

4.SQL 找到有瓶颈的使用 EXPLAIN 来分析