2012-02-17 4 views
4

私はそれに多くのクラスを持つ大きなjbossサーバーをプロファイルします。私がCPUをプロファイリングすると、結果は常にjava.util.TimerThread.run()= 62%とjava.util.concurrent.ThreadPoolExecutor $ Worker.run()= 34,8%のようなものになります。 これらの2つの方法では、他の方法は0%です。 これらのメソッドのほとんどがこれらのスレッドで実行されるので、悪いバグだと思います。しかし、どのように私はどちらかを見ることができます... ThreadDump - これはあまりにも有用な機能ではありません。VisualVMプロファイルCPUしかしrun() - メソッド妨害

答えて

4

コードのどの部分が遅いのかわからない場合は、CPUサンプリングから開始する方がよいです。サンプリング結果に基づいて何が悪いのかが分かれば、jbossサーバーの一部だけをプロファイルできます。プロファイリングとプロファイリングルートと計測器フィルタの設定方法の詳細については、Profiling With VisualVM, Part 1Profiling With VisualVM, Part 2を参照してください。

関連する問題