2016-03-28 9 views
0

私はここで苦労しています。おそらく、私はまだPHPの専門家ではなく、Linuxの管理に欠けているのですが、学習しているからです。私は自分のコードが確実に持つメモリリークを見つける方法のドキュメントを探しました。そして多くの記事がxdebugを提案しました。私はそれをインストールして、一時的にロギングをオンにし、tracefile-analyser.phpを使用して次のレポートをダンプします。今私が問題になっているのは、各列の意味を説明するtracefileスクリプトに関する適切な文書を見つけることです。誰かが、「Xが表示されたら、これはメモリリークです」という形式のドキュメントを示したり、次の出力に関数がメモリリークを検出する方法を説明したりできますか? the documentationに基づいてxdebugを使ってPHPのメモリリークを見つけるにはどうしたらいいですか?

http://hully.net/ML.jpg

+0

これは奇妙です。通常、PHPスクリプトの "メモリリーク"には関心がありません。なぜなら、そのようなスクリプトは寿命が非常に限られているからです。もう一つのことは、PHPエンジン自体の潜在的なメモリリークです!しかし、それは 'xdebug'のようなツールでは追跡できないものです。あなたは' ddd'のような古典的なツールを使ってphpエンジンのローカルビルドを調べなければなりません。 – arkascha

+0

問題を確認するために使用できるコードを追加する必要があります。ここで答えを見てみましょう... http://stackoverflow.com/questions/849549/diagnosing-memory-leaks-allowed-memory-size-of-bytes-exhausted – Harry

+0

これはイライラしています。その記事でさえxdebugを示唆していますが、私の人生では、レポートの列と問題の場所との違いを理解できません。誰もが2つのメモリ列の違いを知っていますか? –

答えて

0

xdebugのは、機械読み取り可能な形式でトレース情報を取り込むように設定されている場合、それはプログラムが機能を開始したとき、使用中のメモリの量を記録し、使用されている、その後どのくらいのメモリプログラムがその機能を終了するとき。

トレースファイルを解析するプログラムを使用しているかどうかはわかりませんが、プログラムの合計メモリ使用量が最初の列に表示され、2番目の列には、個々の機能が使用します。

トレースを機械可読形式(php.iniのxdebug.trace_format = 1)ですでに取得している場合は、結果を表示するにはXdebug Trace Treeを試してください。これは特にメモリ使用量の変化のための列を示しています。

関連する問題