に奇妙な問題が発生しました。私は関数のメモリ使用量をチェックして使用します php:memory_get_usage(true)が増加しない
class test { public function __construct() { $start = memory_get_usage(1); runFunctionNeededToCheck(); var_dump(memory_get_usage(1) - $start); } }
しかし、この関数では何十個もの配列、オブジェクト、およびdbトランザクションを作成していますが、memの使用量は増加しません。 real_usageフラグがなければ、私は0より大きな評価を得ましたが、私はこのスクリプト/関数のメモリ使用量が必要です。
あなたにはいくつかのアイデアがありますか?あるいは、なぜ記憶が残っているように見えるのですか?
事前にTHX
編集
(...私は少しを試してみましたが、機能は問題ではありませんが、あなたは、オブジェクトの内部でこのコードを実行した場合、あなたが私の最後に来ているようです私が最初)
いやはや!すべてのローカルVARSは、関数の最後にクリアされ
効果 - でそれを言及しなかったことを残念に。どうも!
私はこの問題は、関数が自分自身のスタックを持ち、機能が完了すると、このスタックがクリアされていること、だと思う - だから、メモリ使用量は同じでも前とほぼ同じになります。 –
チップのThx。私はちょっと試してみましたが、関数は問題ではないようですが、オブジェクトの中でこのコードを実行すると、私の最後に来るでしょう... – Hazer666
これはもっと役立つかもしれません:http://uk3.php.net/manual/ en/function.memory-get-peak-usage.php – jammypeach