memory_get_usage
php提供了一个查看分配的内存大小的函数memory_get_usage,原型如下
int memory_get_usage ([ bool $real_usage = false ] )
$real_usage为可选参数,默认为false(即不包括memory_get_usage本身占用的内
存),memory_get_usage(true)可查看包括memory_get_usage在内的内存占用情况。
该函数默认返回的是占用内存的字节数,我们可以通过除以1024来以KB为单位,再除以1024以MB为单位。
使用方法
对于wordpress,我们只需要在主题文件夹下的footer.php文件调用memory_get_usage函数即可
该语句的输出以MB为单位,小数点后保留2位。具体效果可以参看本站的底部。
题外话
当然,如果你想做一个详细的测试,可以在页面代码执行之前、模板调用之前以及页面代码执行完毕之后分别调用该函数以做对比,以下是我做的测试:
一、在页面代码执行之前调用memory_get_usage,即在根目录下的index.php文件的最开始部分加入上面的代码,结果在0.3M
左右。
二、在模板调用之前,即在主题文件夹下的header.php文件的最开始部分调用memory_get_usage,结果在11M左右。说明
wordpress在调用模板之前已经加载了大量的数据。
三、在页面代码执行完毕之后,即在主题文件夹下的footer.php文件的最后部分调用memory_get_usage,结果因页面的不同而不
同,不过也都差不多在12M以下。说明主题本身的php调用没有占用多少内存。如果这个结果很高的话,就要检查一下你的主题文件了。
以上结果因为主机的不同而不同,因wordpress的不同而不同,因主题的不同而不同,因各种因素的不同而不同……仅做参考。
另外,如果你想测试某段代码执行后的内存使用情况,可以在代码执行之前和执行之后分别调用memory_get_usage,从而可以看出那段代码
对内存的影响。