PHP管理内存函数 memory_get_usage()使用介绍

yipeiwu_com6年前PHP代码库
下面是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()比较各个方法占用内存的高低,来选择使用哪种占用内存小的方法。

常用的检测:

用microtime函数就可以分析程序执行时间
memory_get_usage可以分析内存占用空间
SQL的效率可以使用打开慢查询查看日志分析
SQL 找到有瓶颈的使用EXPLAIN 来分析

相关文章

thinkphp框架下实现登录、注册、找回密码功能

本文实例为大家分享了thinkphp框架下使用ajax表单提交的登录、注册、找密码的实现方法,以及注册后的用户需后台审核。 user表的字段为id、num、password、name、e...

php 时间计算问题小结

具体如下: 1>如我们知道开始时间,要加减一个时间,得出一个结果时间,可以用以下代码 $time1='2008-10-1 12:30:30'; echo date('Y-m-d H...

关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法

在通过url地址接受参数的时候,有些参数的值V带有回车' %0A ',这时候在页面脚本显示的时候,把这个值V付给脚本变量,可能会造成脚本的错误。 所以,相应的:一开始在传值的时候对一些字...

php生成圆角图片的方法

本文实例讲述了php生成圆角图片的方法。分享给大家供大家参考。具体如下: 复制代码 代码如下:<?php $image_file = $_GET['src']; $corn...

PHP下获取上个月、下个月、本月的日期(strtotime,date)

今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一...