0

私はphpサーバーを構築しており、サーバーが実行している各コマンドをログに記録しています。ログ内に、memory_get_usage(true) 関数を使用して、このステップで使用されたメモリを各ログに表示する列を追加しました。

SQLサーバーに接続し、オブジェクトの新しいインスタンスを追加し、ループを実行しているにもかかわらず、何らかの理由で常に256が表示されます(KBで取得するために関数を/ 1024に分割しました)。

何故ですか ?

これは私のログコードです:

     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 に答える