在PHP中计算脚本内存使用情况?

时间:2009-08-03 13:03:38

标签: php memory

是否像在脚本的开头和结尾调用memory_get_usage()并从第二个值中减去1st一样简单,以获得该脚本上使用的总内存?如果是这样,我怎样才能将该值转换为更易理解的数字,如kb和mb?

2 个答案:

答案 0 :(得分:6)

你的意思是这样的吗?

function file_size($size)
{
    $filesizename = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
    return $size ? round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) .$filesizename[$i] : '0 Bytes';
}

我通常使用它来格式化文件大小,但您可以使用它来解决您的问题。

答案 1 :(得分:3)

您可能更喜欢在脚本末尾调用memory_get_peak_usage,这将在执行期间返回最高的总分配。这更有可能是一个有用的数字 - 获取开始和结束值不会考虑分配的内存,然后在运行时释放。

将其格式化为人类可读的数字可以手动处理(只需除以1024然后打印为Kb),或者像NumberFormatter这样的类。