memory_get_usage()函数返回内存使用率,memory_get_peak_usage()函数返回峰值内存使用率,而getrusage()返回CPU使用率。但是请注意,这些功能需要在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()返回的字节数(单位:字节)。以下自定义函数将字节数转换为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函数分析程序执行时间。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-363962-1.html
给我一次机会我想刷回9