Java VisualVm(バージョン1.7.0 b110325)でCPUプロファイルされているクラスをフィルタリングしたいと思います。このために、[プロファイラー]->[設定]->[CPU-設定]で、テスト対象のパッケージに[プロファイルのみのクラス]を設定しようとしましたが、効果はありませんでした。次に、「クラスのプロファイルを作成しない」に設定して、すべてのjava。*クラスとsun。*クラスを削除しようとしましたが、どちらも効果がありませんでした。
これは単なるバグですか?それとも私は何かが足りないのですか?回避策はありますか?私は以外を意味します:
- より良いプロファイラーにお金を払う
- 手作業でサンプリングを行う(プロファイラーを使用できるが、プログラムを停止しないのはなぜですか?を参照) 。
- コールツリービューに切り替えます。これは、プロファイラービューのみがメソッドごとに消費されたCPUのパーセンテージを表示するため、適切ではありません。
これは主に、メソッドごとに消費されたCPUの半分の正しいパーセンテージを取得するために実行したいと思います。このために、私は厄介な測定値を取り除く必要があります、例えばsun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run()
(約70%)。多くのユーザーがこの問題を抱えているようです。