gpt4 book ai didi

PHP memory_get_usage

转载 作者:IT王子 更新时间:2023-10-28 23:37:03 24 4
gpt4 key购买 nike

我遇到了 PHP 的 memory_get_usage()memory_get_peak_usage()

问题是我发现这两个函数没有提供当前脚本使用的真实内存。我的测试脚本是:

<?php

echo memory_get_usage();

echo '<br />';

$a = str_repeat('hello', 100000);

echo '<br />';

echo memory_get_usage();

echo '<br />';

echo memory_get_peak_usage();

?>

返回:

355120

5355216

5356008

你从中理解了什么?

第一个值是在执行str_repeat()之前,所以它必须是0的值。

第二个是在处理之后,有一个大于0的值是可以的,但不是那么大的值。

第三个是“峰值”值,它略大于第二个,因为我认为它应该是处理微秒中的最大值。

那么你认为当前脚本的内存消耗的真实值应该是这样的:

memory_usage = the second memory usage - the first memory usage

peak_memory_usage = the third (peak_usage) - the first memory usage

给出:

1) 5355216 - 355120 = 5000096 字节

2) 5356008 - 355120 = 5000888 字节

如果它是这样工作的,我假设前 355120 字节是 apache 和其他模块使用的整个系统分配的内存,因为当你增加或减少数字时,第一个值永远不会改变str_repeat()中的重复次数,只有处理后的两个值增加或减少,但永远不会小于第一个值。

最佳答案

根据php手册,memory_get_usage返回给php分配的内存量,不一定是正在使用的内存量。

关于PHP memory_get_usage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4010781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com