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