質問
Java で使用する場合に何を推奨しますか?
唯一の要件は、オープンソースであること、またはあまり高価なアカデミック ライセンスを持たないことです。
解決
JDK6が付属していますVisualVMがその中に基本的なプロファイラを持っています。 VisualVMのは、JDKを備えているので、あなたがJDK6がインストールされている場合、あなたはおそらく、それが同様にインストールされています。
他のヒント
あなたはリストを持っています ここ (リンクが切れた場合に備えて以下にリストします)
- JMemProf
- JMP
- ドクターメム
- Jツリープロファイラー
- NetBeans プロファイラ
- JAMon API
- JBoss プロファイラー
- メス管理者
- 赤外線
- トムキャットプローブ
- Java インタラクティブ プロファイラー (JIP)
- プロファイラー4j
- ストップウォッチ
- J測定
- DJ教授
- TIJmp
- アルモン
- アプリ
- エウレカJ
- ジャペックス
- OKTECHプロファイラー
- Perf4j
ああ。 Netbeansのプロファイラに、developer.comの2009年の "プロダクトオブザイヤー" 受賞者、ます。
Javaはプロファイラに建てられた基本的には、 HPROF 呼びかけていますA>。私はそれが役に立つことがより完全にプロファイラを特徴とした結果で提供して結果を比較するために見つけます。
オープンソースのツール jvmtop の基本的なコンソールプロファイラを含んでいます。 出力例:
JvmTop 0.7.0 alpha - 15:16:34, amd64, 8 cpus, Linux 2.6.32-27, load avg 0.41
http://code.google.com/p/jvmtop
Profiling PID 24015: org.apache.catalina.startup.Bootstrap
36.16% ( 57.57s) hudson.model.AbstractBuild.calcChangeSet()
30.36% ( 48.33s) hudson.scm.SubversionChangeLogParser.parse()
7.14% ( 11.37s) org.kohsuke.stapler.jelly.JellyClassTearOff.parseScript()
6.25% ( 9.95s) net.sf.json.JSONObject.write()
3.13% ( 4.98s) ....kohsuke.stapler.jelly.CustomTagLibrary.loadJellyScri()
ここでTPTP を使用してJavaアプリケーション・プロファイリングnoreferrer"> プロファイリングJ2SE 5.0ですEclipseのTPTP を使用するアプリケーションます。
飾り気のない、使いやすいオープンソース プロファイラーを探している場合は、Jip (Java インタラクティブ プロファイラ)。BSD ライセンスに基づいて公開されています。小さなプログラムには非常に便利であることがわかりました。少なくとも、得られる結果は hprofs の出力よりもはるかに理解しやすいです。
Javaのミッションコントロールに、それは開発に使用する無料ですし、それは、Eclipseと統合されています。それはJVMがとにかく収集されたデータに便乗するので、非常に低いオーバーヘッド(<1%)を有します。
これは非常に使いやすいですし、それはまた、例えば、あなたは一般的に他のプロファイリングツールに見つけることができません多くの情報を与えることができます待ち時間のプロファイリング、オンラインメモリ検査、詳細なGCの統計
このには、迅速な汚い、と非常に効果的です。わずか数スレッドダンプを取るか、プログラムを一時停止し、数回、およびスタックトレースを見て
。NetBeans IDEには、無料のプロファイラが含まれます。
私の記憶が正しければ、また、JProfilerをのためのアカデミックライセンスは、(比較的)安価である。
を検討最先端 https://github.com/jvm-profiling-tools /非同期プロファイラの
このプロジェクトは、<のhref = "http://psy-lob-saw.blogspot.ru/2016/02/why-most-sampling-java-profilersに悩まされないJava用の低オーバーヘッドのサンプリングプロファイラです-are.html」のrel = "nofollowをnoreferrer">セーフポイントのバイアスの問題に。これは、スタックトレースを収集し、メモリの割り当てを追跡するためのHotSpot固有のAPIを提供しています。プロファイラはOpenJDKの、OracleのJDKおよびHotSpotのJVMに基づいて、他のJavaランタイムで動作します。
また、内蔵されていますのIntelliJ IDEAアルティメットへ:ます。https:// WWW .jetbrains.com /ヘルプ/アイデア/ CPU-profiler.htmlするます。
<時間>も同様のある https://github.com/jvm-profiling-tools /正直、プロファイラでます。
async-profiler
とhonest-profiler
との比較:ます。https:// githubの。 COM / JVM-プロファイリング・ツール/非同期プロファイラ/問題/ 77 の