web-dev-qa-db-ja.com

Javaガベージコレクションログ分析ツールを知っていますか?

Webアプリからコンソールログを取得し、ガベージコレクション情報を解析して意味のある方法で表示するツールまたはスクリプトを探しています。

Sun Java 1.4.2 JVMで次のフラグを使用して起動しています。

-verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails

ログ出力は次のようになります。

54.736: [Full GC 54.737: [Tenured: 172798K->18092K(174784K), 2.3792658 secs] 257598K->18092K(259584K), [Perm : 20476K->20476K(20480K)], 2.4715398 secs]

ガベージコレクションの傾向を視覚的にグラフ化するツールがあれば、これらの種類のログエントリの数百を理解することははるかに簡単です。

55
braveterry

IBMのGCツールキットは、まさにあなたが求めていることを実行します。

https://www.ibm.com/developerworks/Java/jdk/tools/gcmv/

ただし、SunのJVMのGCログと互換性があるかどうかはわかりません。

15
bajafresh4life

gcviewer はあなたが望むことをします。

30
kohlerm

一部の人々は、Javaプローブが質問が示すようにガベージコレクションログを実際に解析しないプローブを追加しています...

私は他のもの(gcviewer、gchisto、IBM)を試しましたが、GCログを分析するために見つけた最良のツールは HPjmeter です

これは主にHP-UX JVM用ですが、通常はSun JVMでも機能し、素晴らしい仕事をします。

alt text
(ソース: xebia.com

12
fglez

オンラインツール http://gceasy.io を試しましたが、Sun jdk 1.8 gcログを読み取ることができます。

8
craig_wu9

IBMとHotspotの両方のJVMログで動作し、それらを視覚化することがわかった最も強力なツールは、IBMのPMATです。 https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview? communityUuid = 22d56091-3a7b-4497-b36e-634b51838e11

IBM Support Assistantのツールよりも高速であり、詳細を提供します。最後に、7月12日に継続的に更新されます。

ただし、ポリシーCMSでログを解析する際にいくつかの問題があるようですが、うまくいけば修正できます。

PrintGCStatsも非常に優れており、優れた統計情報を提供しますが、ある程度の作業を必要とする視覚化には使用できません。

7
Stian Lund

Jconsoleよりも優れているのは visualvm で、これはSunが自由に開発および配布しています。 gchisto と呼ばれるGC分析プラグインがあります。

編集:申し訳ありませんが、JDK 1.4.2の要件が見つかりませんでした。その場合、残念なことに、visualvmは役に立ちません。

7
fred-o

YourKit Java profiler を使用します。これにより、この種のことを測定できますが、ログを分析するのではなく、独自の形式を使用します。 Java 5ですが、1.4で動作するはずです。

5
Nick Fortescue

数年前、John Coomes(Hotspot GCグループ)は、「GC休止時間の合計、平均、最大、標準偏差などのガベージコレクションに関する統計を要約する」awkスクリプトであるPrintGCStatsをリリースしました。スクリプトのコピーはJava.netでホストされます: http://Java.net/projects/printgcstats

3
mnasce zewdu

Sunから VisualGC を試してください。 JDK 4と5のバージョンがあり、Eden、Generation、Permの各スペースで何が起こっているかを視覚的に確認できます。 JARを追加し、PIDとボブの叔父を取得する必要があります。

3
duffymo

jconsole はあなたを大いに助けることができますが、私はそれがJava 5以降だけだと思います。 Java 6のガベージコレクターは、大規模なアプリケーションのほとんどの場合、複雑なチューニングを必要とする古いものよりもはるかに優れています。Java 6 GC SMPの方がはるかに優れています。

2
Johannes Weiss

visualVMのgchistoプラグインが機能しない https://gchisto.dev.Java.net/

Jdk1.6用のprintgcの詳細がすべて記載されたファイルがありますが、それを読み取るツールが見つかりませんでした。以前はjdk1.5ではHPjmeterを使用していましたが、現在はjdk1.6では使用できません。

以下を試しました:IBMパターンモデリングおよび分析ツールJava Garbage Collector-ファイルを認識しません。GCCollectorは機能せず、分析のためにファイルを読み取り続けます。

2
user504279

JProbe Freeware(Eclipseプラグイン)などのプロファイリングツールを試してみてください。

1