質問

使用しようとしています VisualVM Java (Sun JDK 1.6) スタンドアロン アプリケーションをプロファイリングします。スクリプト化されたパフォーマンス テスト環境があり、そこでアプリケーションを実行し、関心のあるいくつかのメトリクスをレポートさせることができます。

JVM に CPU プロファイリング スナップショットを収集させ、後で VisualVM で分析できるようにする方法はありますか?

似たものを探しています -XX:+HeapDumpOnOutOfMemoryError 直前にヒープダンプをディスクに書き込むフラグ。 OutOfMemoryError 投げられる。

役に立ちましたか?

解決

JVM には hprof ツールが組み込まれています (http://java.sun.com/developer/technicalArticles/Programming/HPROF.html) 基本的なプロファイリング情報を取得できますが、処理が遅く、大量のファイルが生成されます。

私の知る限り、VisualVM にはこれらの機能はまだありませんが、yourkit にはエージェントを介してプログラム的に必要なことを実行する機能があります。

エージェントライン経由のキット (-agentlib:yjpagent=onexit=snapshot)http://www.yourkit.com/docs/80/help/Additional_agent_options.jsp

プログラム的にhttp://www.yourkit.com/docs/80/api/index.html

余談ですが、パフォーマンス テストと合わせて CPU を測定する場合は、結果が明らかに歪むため、慎重に測定することをお勧めします。次のようなものを見ることを検討しましたか? https://japex.dev.java.net/ コアコードの周りにありますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top