【发布时间】:2009-08-03 13:03:37
【问题描述】:
是否就像在脚本的开头和结尾调用 memory_get_usage() 并从第二个值中减去第一个值一样简单,以获得该脚本上使用的总内存?如果是这样,我如何将该值转换为更易于理解的数字,如 kb 和 mb?
【问题讨论】:
-
如果您有 Meta Stack Overflow 帐户,最好将它们关联起来。
是否就像在脚本的开头和结尾调用 memory_get_usage() 并从第二个值中减去第一个值一样简单,以获得该脚本上使用的总内存?如果是这样,我如何将该值转换为更易于理解的数字,如 kb 和 mb?
【问题讨论】:
你的意思是这样的?
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';
}
我通常用它来格式化文件大小,但你可以用它来解决你的问题。
【讨论】:
您可能更愿意在脚本末尾调用memory_get_peak_usage,这将在执行期间返回最高的总分配。这更有可能是一个有用的数字 - 获取开始值和结束值并不考虑在运行时分配然后释放的内存。
可以手动处理将其格式化为人类可读的数字(只需除以 1024,然后打印为 Kb),也可以使用 NumberFormatter 之类的类。
【讨论】: