查看当前内存使用情况使用:memory_get_usage()函数。
查看内存使用峰值:memory_get_peak_usage()函数。
<?php
header(“Content-Type:text/html;charset=utf-8”);
/**
* 格式化字节大小
* @param number $size 字节数
* @param string $delimiter 数字和单位分隔符
* @return string格式化后的带单位的大小
*/
function format_bytes($size, $delimiter = ”) {
$units = array(‘B’, ‘KB’, ‘MB’, ‘GB’, ‘TB’, ‘PB’);
for ($i = 0; $size >= 1024 && $i < 5; $i++) $size /= 1024;
return round($size, 2) . $delimiter .” “.$units[$i];
}
echo “内存初始状态:”.format_bytes(memory_get_usage());
echo “<hr/>”;
echo “开始使用内存<br/>”;
//使用内存
for($i = 0;$i < 100000;$i++){
$array[] = md5($i);
}
echo “内存状态:”.format_bytes(memory_get_usage()).”<br/>”;
echo “删除一半的内存<br/>”;
//删除一半的内存
for($i = 0;$i < 100000;$i++){
unset($array[$i]);
}
echo “最终内存状态:”.format_bytes(memory_get_usage());
echo “<hr/>”;
echo “内存峰值状态:”.format_bytes(memory_get_peak_usage());
执行结果:
内存初始状态:65.27 KB
开始使用内存
内存状态:12.01 MB
删除一半的内存
最终内存状态:577.52 KB
内存峰值状态:12.01 MB