【问题标题】:Calculating script memory usages in PHP?在 PHP 中计算脚本内存使用量?
【发布时间】:2009-08-03 13:03:37
【问题描述】:

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

【问题讨论】:

  • 如果您有 Meta Stack Overflow 帐户,最好将它们关联起来。

标签: php memory


【解决方案1】:

你的意思是这样的?

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';
}

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

【讨论】:

  • 当你可以在 if 语句中使用数字时,为什么要多次除以 1024?二进制 (1024) 和十进制 (1000) 的真正 KiB、MiB、GiB 和 TiB 是 kB(注意较低的 k)、MB、GB 和 TB。
【解决方案2】:

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

可以手动处理将其格式化为人类可读的数字(只需除以 1024,然后打印为 Kb),也可以使用 NumberFormatter 之类的类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-04
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 2020-10-29
    • 1970-01-01
    相关资源
    最近更新 更多