回答:
jdk6に付属するVisualVMには、内部に基本的なプロファイラーがあります。VisualVMはjdkに付属しているため、jdk6がインストールされている場合は、それもインストールされている可能性があります。
VisualVM
以前は成功して使用していましたが、Tomcatアプリのプロファイルを作成しようとしたときにクラッシュしました。これは私のために働きました:github.com/jvm-profiling-tools/honest-profiler
あなたはここにリストを持っています(それらを下にリストすると、ケース内のリンクが壊れます)
- JMemProf
- JMP
- DrMem
- JTreeProfiler
- NetBeansプロファイラ
- JAMon API
- JBossプロファイラ
- MessAdmin
- 赤外線
- TomcatProbe
- Java Interactive Profiler(JIP)
- Profiler4j
- ストップウォッチ
- JMeasurement
- DJProf
- TIJmp
- アルモン
- Appspy
- ユーレカJ
- japex
- OKTECHプロファイラー
- Perf4j
ああ。2009年にdeveloper.comの「年間最優秀製品」を受賞したNetbeans Profiler。
オープンソースツール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アプリケーションプロファイリングに関する記事と、Eclipse TPTPを使用したJ2SE 5.0ベースのアプリケーションのチュートリアルがここにあります。
飾り気のない、使いやすいオープンソースプロファイラーを探している場合は、Jip(Java Interactive Profiler)をご覧ください。BSDライセンスの下で公開されています。小さなプログラムには非常に役立つことがわかりました。少なくとも、それによって得られる結果は、hprofsの出力よりもはるかに理解しやすいものです。
Java Mission Controlは、開発に無料で使用でき、Eclipseと統合されます。JVMがとにかく収集しているデータに便乗するため、オーバーヘッドは非常に低くなります(<1%)。
これは非常に使いやすく、他のプロファイリングツールでは通常見られない多くの情報も提供できます。たとえば、レイテンシプロファイリング、オンラインメモリ検査、詳細なgc統計
これは迅速で、ダーティで、非常に効果的です。いくつかのスレッドダンプを取得するか、プログラムを数回一時停止して、スタックトレースを調べます。
最先端のhttps://github.com/jvm-profiling-tools/async-profilerを検討してください
このプロジェクトは、Safepointバイアスの問題に悩まされない、オーバーヘッドの少ないJava用のサンプリングプロファイラーです。スタックトレースを収集し、メモリ割り当てを追跡するHotSpot固有のAPIを備えています。プロファイラーは、OpenJDK、Oracle JDK、およびHotSpot JVMに基づくその他のJavaランタイムで動作します。
IntelliJ IDEA Ultimate:https ://www.jetbrains.com/help/idea/cpu-profiler.htmlにも組み込まれています。
同様のhttps://github.com/jvm-profiling-tools/honest-profilerもあります。
比較async-profiler
とhonest-profiler
:https://github.com/jvm-profiling-tools/async-profiler/issues/77