私はYourKitプロファイラーを初めて使用し、いくつかの良いレビューを読んだ後、試してみたいと思いました。weblogic アプリケーション サーバーで実行されている webapp をプロファイリングしようとしています。基本的に、記録を開始してからオブジェクト割り当ての記録を停止するまでの間に、特定のクラスのインスタンスがいくつ作成されたかを確認したいと考えています。どうやってやるの?それらのオブジェクト作成メソッドのスタックトレースも知りたいです。これを行うには、割り当ての記録を開始した後にメモリのスナップショットもキャプチャする必要がありますか? はいの場合、なぜですか?
質問する
558 次
1 に答える
1
基本的に、記録を開始してからオブジェクト割り当ての記録を停止するまでの間に、特定のクラスのインスタンスがいくつ作成されたかを確認したいと考えています。どうやってやるの?
記録された番号を見つけます。たとえば、割り当ての下でクラスを検索します。10 番目の割り当てごとに記録した場合は、これに 10 を掛けて数の見積もりを取得します。正確な数が必要な場合は、作成されたすべてのインスタンスを記録する必要があります (これによりアプリケーションが遅くなります)
それらのオブジェクト作成メソッドのスタックトレースも知りたいです。
これらの割り当てが発生した場所を調べることで、これらのスタック トレースの概要を取得できます。
これを行うには、割り当ての記録を開始した後にメモリ スナップショットもキャプチャする必要がありますか?
スナップショットの作成には非常にコストがかかるため、これがすぐにサポートされるとは思えません。ただし、YourKit は API を提供し、トレースするオブジェクトのコンストラクターにこれを追加することで、このオブジェクトが作成されるたびにプログラムでスナップショットをトリガーできます。
于 2013-07-29T08:30:52.683 に答える