web-dev-qa-db-ja.com

最善かつ最も安全Javaプロダクション用のプロファイラー?

私はJavaプロファイラーで、以下の要件をすべて満たす、商用または無料の非常に需要の高いプロダクション環境で使用するために探しています。

  • コードとの軽量な統合(特別なオプションを使用した再コンパイル、コードフックなしなど)。アプリケーションコードと共にプロファイラー固有の.jarをいくつかドロップしても問題ありません。
  • アプリケーションを再起動せずに、JVMに接続/切断できる必要があります。
  • プロファイリングがアクティブでない場合、パフォーマンスへの影響はありません
  • プロファイリングがアクティブな場合、パフォーマンスへの影響はごくわずかです。わずかな劣化でも問題ありません。
  • プロファイラーが行うすべての「期待される」ことを行う必要があります-ホットスポット、オブジェクト割り当て/メモリプロファイリングなどを見つけるために各メソッドで費やされた時間.

本質的に、誰もがそこにいることを知らなかったり気にしたりせずにすべてが正常である場合、本番環境で休止状態にできるものを必要としますが、ホットスポットや同期などの見つけるのが難しい問題を特定するための手間(およびパフォーマンスの低下)に自由に接続できます問題。

45
Peter

試しましたか YourKit ?それはあなたが探しているほぼすべての機能を備えています。

20

Java VisualVMは、Java Virtualで実行しているときにJavaテクノロジーベースのアプリケーション(Javaアプリケーション)に関する詳細情報を表示するためのビジュアルインターフェースを提供するツールですマシン(JVM)Java VisualVMは、Java開発キット(JDK)ツールによって取得されたJVMデータを整理し、次のことを可能にする方法で情報を提示します複数のJava=アプリケーションのデータをすばやく表示します。ローカルホストのアプリケーションおよびリモートホストで実行されているアプリケーションのデータを表示できます。JVMソフトウェアに関するデータをキャプチャしてローカルに保存することもできます。システム、および後でデータを表示するか、データを他のユーザーと共有します。これは、Oracle JDKに付属しています...

$ jvisualvm 
14

jProfiler に満足しています。

11
brettw

私は Java Flight Recorder を好みます。パフォーマンスのオーバーヘッドはほとんど発生せず、GUIも優れています。 JVMパラメータを追加する

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder

-XX:StartFlightRecording=name=test,filename=test.jfr,dumponexit=true

jMCでレコードを開きます。

4
jun

CA Wilyをチェックアウトします。

http://www.ca.com/us/application-management.aspx

2
Kumar225

私はEclipse TPTP-Eclipse Test&Performance Tools Platform Projectを使用しています。生産用途に適しているかどうかは、ユーザーによって異なります。私にとって、それは問題なく、あなたのニーズを満たしています。

http://www.Eclipse.org/tptp/

1
eee

別のオプションは http://www.newrelic.com/ です。私たちはこれをしばらくプロダクションで使用しており、かなり信頼性が高く、パフォーマンスが高いようです。セットアップが簡単(1つの.jarと-agentコマンドラインオプション)。

1
magbyr

Javosizeと呼ばれる別の新しいオプションがあります

私がグーグルで「ベストJavaプロファイラ」を探したとき、私は最初の無料リンク(それはブログです)を見ました、それは投稿へのコメントの同じツールです:

https://blog.oio.de/2014/03/07/Java-profilers-a-short-comparison-between-jprofiler-yourkit-and-javas-visualvm /

それが役に立てば幸い!

編集:コメントにあるように、リンクされたリンクはプライベートフォーラムへのリンクです。申し訳ありません。ここにメインサイトへのリンクがあります:

http://www.javosize.com/gettingStarted.html

1
Jorge Zazo

FusionReactor Javaアプリケーションパフォーマンスモニターには、非常に低いオーバーヘッドも含まれますJavaプロファイラーの機能ポートフォリオの一部として。 http://www.fusion -reactor.com/production-Java-profiler/ FusionReactorは数分でインストールでき、14日間無料で試用できます。

1

Java Mission ControlFlight Recorder と組み合わせて見てください。 Oracle JDK 7 Update 40(7u40)のリリース以降、Java Mission ControlはHotSpot JVMにバンドルされているため、高度に統合されており、ランタイムパフォーマンスへの影響が小さいとされています。 Callgrindのような呼び出しツリー機能があります。

1
Muxiang Yang