PHP内存使用情况如何获取_php技巧

PHP内置函数memory_get_usage()能返回当前分配给PHP脚本的内存量,单位是字节(byte)。在WEB实际开发中,这些函数非常有用,我们可以使用它来调试PHP代码性能。
memory_get_usage()函数返回内存使用量,memory_get_peak_usage()函数返回内存使用峰值,getrusage()返回CUP使用情况。但有一点请注意,在这些函数需要在Linux上运行。
下面我们来看一个实例:

echo '开始内存:'.memory_get_usage(), '';
$tmp = str_repeat('hello', 1000);
echo '运行后内存:'.memory_get_usage(), '';
unset($tmp);
echo '回到正常内存:'.memory_get_usage();

输出结果:
开始内存:147296
运行后内存:152456
回到正常内存:147296
例子中,我们使用str_repeat()将字符串“hello”重复了1000遍,最终来对比前后消耗的内存大小。由上面的例子可以看出,要想减少内存的占用,可以使用unset() 函数把不再需要使用的变量删除。类似还有mysql_free_result() 函数,当我们不再需要查询数据得到的结果集时,可以使用释放查询占用的内存。
函数memory_get_usage()还可以有个参数,$real_usage,其值为布尔值。如果设置为 TRUE,获取系统分配的真实内存尺寸。如果未设置或者设置为 FALSE,将是 emalloc() 报告使用的内存量。
在实际WEB开发中,可以用PHP memory_get_usage()比较各个方法占用内存的高低,来选择使用哪种占用内存小的方法。
函数memory_get_usage()返回的字节数(单位为 byte(s))。

下面这个自定义函数将字节数转换成MB更容易阅读:

function memory_usage() {
 $memory  = ( ! function_exists('memory_get_usage')) ? '0' : round(memory_get_usage()/1024/1024, 2).'MB';
 return $memory;
}

常用的调试检测PHP代码性能的方法有:
memory_get_usage可以分析内存占用空间。
用microtime函数就可以分析程序执行时间。

通过这篇文章大家知道php是如何获取内存使用情况了吧,希望这篇文章能够对大家的学习有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php获取内存
, php获取内存地址
, php获取内存消耗
php获取系统内存
php 获取内存使用、内存虚拟硬盘使用技巧、phpstorm使用技巧总结、phpstorm 使用技巧、php 获取内存占用,以便于您获取更多的相关知识。

时间: 2024-10-29 22:50:52

PHP内存使用情况如何获取_php技巧的相关文章

php统计时间和内存使用情况示例分享_php实例

复制代码 代码如下: /** * 记录和统计时间(微秒)和内存使用情况 * 使用方法: * <code> * G('begin'); // 记录开始标记位 * // ... 区间运行代码 * G('end'); // 记录结束标签位 * echo G('begin','end',6); // 统计区间运行时间 精确到小数后6位 * echo G('begin','end','m'); // 统计区间内存使用情况 * 如果end标记位没有定义,则会自动以当前作为标记位 * 其中统计内存使用需要

采用PHP函数memory_get_usage获取PHP内存清耗量的方法_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

如何使用“PHP” 彩蛋进行敏感信息获取_php技巧

关于"PHP彩蛋"的说法也许很多老PHPer已经都知道或听说了,好像是早在PHP4版本的时候就有彩蛋了,挺好玩儿的,可能近年来逐渐被人们遗忘了,其实彩蛋功能在PHP脚本引擎默认情况下是开启. 写个phpinfo();然后访问,再加上以下的GET值即可查阅下面就用Discuz官方论坛做一下测试:http://www.discuz.net/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42http://www.discuz.net/?=PHPE9568F35

PHP内存缓存Memcached类实例_php技巧

本文实例讲述了PHP内存缓存Memcached类.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <?PHP class MemcacheModel { private $mc = null; /** * 构造方法,用于添加服务器并创建memcahced对象 */ function __construct(){ $params = func_get_args(); $mc = new Memcache; //如果有多个memcache服务器 if( count($params)

php运行提示:Fatal error Allowed memory size内存不足的解决方法_php技巧

本文实例讲述了php运行提示:Fatal error Allowed memory size内存不足的解决方法.分享给大家供大家参考.具体方法如下: 有些朋友新配置的环境或自己新写的程序运行时会碰到fatal error: Allowed memory size of 134217728 bytes exhausted错误,这种问题一个是程序写得不好导致的,另一个是环境配置不好也会出现,像php5.1.27+apache2.2.3好像在windows2003中就会出现bug不管你怎么修复都无法解

php实现查询百度google收录情况(示例代码)_php技巧

写了一个小东西记录baidu和google对于站点的收录情况,现在可以查询了,其实也没什么难度,就是去file下远程文件,然后分析下. 对了貌似查google pr的东西只是file一个地址而已,如此说了就没有什么难度了.完整代码如下,file取得文件,分析,输出: 复制代码 代码如下: <?php$seodetail = array();$domain = !empty($_GET['q']) ? $_GET['q'] : 'www.mycodes.net';baidudetail($doma

phpQuery占用内存过多的处理方法_php技巧

phpQuery是一个用php实现的类似jQuery的开源项目,可以在服务器端以jQuery的语法形式解析网页元素. 相对于正则或其它方式匹配网页方式,phpQuery使用起来要方便的多.在使用phpQuery采集网页时,遇到一个问题:在处理大量网页之后,phpQuery占用的内存数量非常惊人(很快就超过了1G),比如这段代码: 复制代码 代码如下: while (true) {    phpQuery::newDocumentFile($htmlFile);    // 处理网页元素...  

浅析php中如何在有限的内存中读取大文件_php技巧

正常情况下,我们可以使用fseek来读取,好处就是不会一次性读取,以下代码只适合边取边处理的情况,不适合一次性读取一次性处理.可以用以下办法生成测试文件 复制代码 代码如下: $file_handle = fopen("./csdn.txt", "rb+");for ($index1 = 1; $index1 <= 2000000; $index1++) {    fwrite($file_handle, 'http://jb51.net'.$index1.&

两千行代码的PHP学习笔记汇总_php技巧

本文汇总了PHP学习中常见的各类问题,约有两千多行代码,都是非常实用的技巧.分享给大家供大家参考.具体如下: //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. /* [命名规则] */ 常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH 变量名建议用下划线方式分隔 // $var_name 函数名建议用驼峰命名法 // varName 定界符建议全大写 // <<<DING, <<<'DING' 文件名建议