オープンソースJavaプロファイラー[終了]


94

Javaで何を使用することをお勧めできますか?

唯一の要件は、それがオープンソースであること、または高額なアカデミックライセンスを持たないことです。


4
あなたがオープンソースと言うとき、あなたは自由を意味しますか?彼らは異なる意味を持っています。_inexpensiveプロファイラーについての質問ですか?
Robert Munteanu

3
自由のように無料ですか、それとも無料のように無料ですか?ああ混乱!
タルスキ

回答:


61

jdk6に付属するVisualVMには、内部に基本的なプロファイラーがあります。VisualVMはjdkに付属しているため、jdk6がインストールされている場合は、それもインストールされている可能性があります。

https://visualvm.github.io/


3
VisualVMプロファイラは、NetBeansにあるもののスタンドアロンバージョンです。それは非常に良いスタートです。
するThorbjörnRavnアンデルセン

2
最新のバージョンを必ずダウンロードしてください:visualvm.dev.java.net。また、これはNetBeansが使用するプロファイラです。
Peterdk

VisualVM以前は成功して使用していましたが、Tomcatアプリのプロファイルを作成しようとしたときにクラッシュしました。これは私のために働きました:github.com/jvm-profiling-tools/honest-profiler
Lambart

21

あなたはここにリストを持っています(それらを下にリストすると、ケース内のリンクが壊れます)

  • JMemProf
  • JMP
  • DrMem
  • JTreeProfiler
  • NetBeansプロファイラ
  • JAMon API
  • JBossプロファイラ
  • MessAdmin
  • 赤外線
  • TomcatProbe
  • Java Interactive Profiler(JIP)
  • Profiler4j
  • ストップウォッチ
  • JMeasurement
  • DJProf
  • TIJmp
  • アルモン
  • Appspy
  • ユーレカJ
  • japex
  • OKTECHプロファイラー
  • Perf4j

1
これをリストに追加できます:github.com/jvm-profiling-tools/honest-profiler
Lambart


10

JavaにはHProfと呼ばれる基本的な組み込みプロファイラーがあります。提供する結果と、より完全な機能のプロファイラーからの結果を比較すると便利です。


1
私はHPROFを何年も使用しています-かなり良くないかもしれませんが、それは私が無数のメモリとパフォーマンスの問題を解決するのに役立ちました。
ガンダルフ

1
HPROFは、最適化するためにさまざまなポイントを見つけることがよくあります。YourKitが最適化のための明確なポイントを与えなくなった後、私はよくそれを使用します。
Peter Lawrey、

2
jdk 9から削除されました。openjdk.java.net
jeps

5

オープンソースツール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()

4

3
TPTPを設定することができませんでした。おそらく私はそれを使うには馬鹿げている。
quant_dev 2009年

@quant_dev:私は同じ問題を抱えていましたが、どういうわけか突然偶然にそれをセットアップさせることができました(Eclipseの再起動など)しかし、私がそれを使用したとき、それはほとんど役に立たないことがわかり、信じられないほど遅く、私が日食を殺した時点までリソースを消費していました。私がオンラインで見つけたいくつかの参考文献で言及されたより有用なビューのいくつかは、Eclipse 3.5で動作する現在の現実にはもう存在していないようです。したがって、現時点では、それは基本的に無用の巨大なBLOBです。
x4u

1
Eclipse TPTPは成熟した製品のように見えますが、非常に低速です。理由がわかりません...
Roalt、2010

4
残念ながら、TPTPは最終リリース(v4.7.2)になりました。アーカイブされ、Eclipse同時リリースの一部ではなくなりました。
joelittlejohn

3

飾り気のない、使いやすいオープンソースプロファイラーを探している場合は、Jip(Java Interactive Profiler)をご覧ください。BSDライセンスの下で公開されています。小さなプログラムには非常に役立つことがわかりました。少なくとも、それによって得られる結果は、hprofsの出力よりもはるかに理解しやすいものです。


2

Java Mission Controlは、開発に無料で使用でき、Eclipseと統合されます。JVMがとにかく収集しているデータに便乗するため、オーバーヘッドは非常に低くなります(<1%)。

これは非常に使いやすく、他のプロファイリングツールでは通常見られない多くの情報も提供できます。たとえば、レイテンシプロファイリング、オンラインメモリ検査、詳細なgc統計


1

これは迅速で、ダーティで、非常に効果的です。いくつかのスレッドダンプを取得するか、プログラムを数回一時停止して、スタックトレースを調べます。


1

最先端の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-profilerhonest-profilerhttps://github.com/jvm-profiling-tools/async-profiler/issues/77


非同期プロファイラのニース図示した記事:hackernoon.com/...
ヴァジム・

0

Netbeans IDEには無料のプロファイラが含まれています。

また、私が正しく覚えている場合、JProfilerのアカデミックライセンスは(比較的)安価です。


1
OPは、「あまり高価でないアカデミックライセンス」を要求しました。JProfilerの単一のアカデミックライセンスは199ドルです
マッシャー

1
彼はオープンソースであるか、または安価な学術ライセンスを持っているものを求めました。私の意見では、通常のライセンスで499ドルかかるツールの場合、199ドルはかなり安価です。
ポール・モリエ

0

JVMモニターは、Eclipseと統合されたJavaプロファイラーであり、JavaアプリケーションのCPU、スレッド、およびメモリー使用量をモニターします。

さらに詳細な分析が必要な場合は、次のステップとして他のツール(例:TPTPメモリアナライザー)を使用できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.