0

我正在构建一个 php 服务器,并且正在记录服务器正在执行的每个命令。在我的日志中,我添加了一个列,使用 memory_get_usage(true) 函数在每个日志上显示此步骤中使用的内存是什么。

由于某种原因,它总是向我显示 256(我已将函数划分为 / 1024 以获取它的 KB 格式),尽管我正在连接到 sql 服务器、添加新的对象实例、运行循环等。

这是为什么 ?

这是我的日志代码:

     function serverLog($status, $message)
{       
    global $logFile, $currentTime;
    $log =  "\n" . date("d/m/Y", $currentTime) . "|" . date("H:i:s", $currentTime). "|" . $status . "|" . $message .  "|" . (memory_get_usage(true) / 1024);
    $fp = fopen($logFile, "a+") or die ("can't open file");
    fwrite($fp, utf8_encode($log));
    fclose($fp);
}
4

2 回答 2

1

memory_get_usage(true)显示 PHP 引擎分配的内存量,仅当您的脚本需要更多内存时才会更改。

于 2012-05-09T17:50:52.887 回答
0

memory_get_usage(true)将显示 php(引擎)分配的内存量,而不是脚本实际使用的内存量。您的脚本可能永远不需要超过 256,这就是您看到该数字的原因。

于 2012-05-09T17:51:02.530 回答