VisualVMを使用してNutchのプロファイルを作成しようとしています。Luceneは、URLインデックスの生成と、クエリによるこれらのインデックスの検索を担当するNutchコアの一部です。Apache Tomcatを介してNutchを実行していて、Nutchがさまざまな関数呼び出し(Lucene呼び出しを含む)に費やす時間を確認したいのですが、VisualVMを使用してプロファイリングしようとすると、NutchやLuceneではなくTomcatに関する大量のプロファイリングデータが取得されます。私はここで何が間違っているのですか?
1 に答える
0
私は、Tomcat呼び出し内でLucene時間を見つけようとしたのと同じ経験をしました。あなたがしなければならないことは:
- VisualVM1.2.2を使用します。
- 関連するプロセスを選択し、「プロファイル」を押します。
- 「設定」チェックボックスをチェックします。これにより、「CPU設定」タブが開き、入力可能なフィールドが表示されます。
- [クラスからのプロファイリングの開始:]の下に、コードに入り口を記述します(例:com.my.company.NutchUser)
- 「新しいランナブルのプロファイル」のチェックを外します。
- 「プロファイルのみのクラス:」を選択し、その下に次のように記述します:org.apache.lucene。*org.apache.nutch。*
- 「プロファイルCPU」ボタンを押します。それをすべて実行してから、プロセスを実行し、ときどきスナップショットを撮れば、問題はないと思います。
あるいは、この男はプロファイリングの代わりにスタックサンプリングを行うことを提案します。一度もやったことはありませんが、面白そうですね。
于 2010-11-15T12:00:50.843 に答える