オープンソースコラム


Java GCデータ解析ツールGCViewerのインストール及びその見方

2008/03/08 23:34Update
TAGS: GCViewer | GC | メモリ | 性能改善

Syboos.jp編集長

GCViewerはJVMのガーベージ・コレクションログファイルの解析を行う、及び視覚化するためのツールです。

本稿では、GCViewerのインストール、実行、及びその基本的な見方について解説します。

GCViewerとは?



GCViewerはJVMのガーベージ・コレクションログファイルの解析を行う、及び視覚化するためのツールです。

記事:GCViewer - オープンソースなJava GCデータを解析・視覚化するツール

本稿は、現時点(2008年3月)での最新版 gcviewer-1.28 について解説します。

今回のテスト環境
GCViewer:gcviewer-1.28
OS    :Windows XP
Java環境:jdk1.5.0_07
Javaアプリ:Tomcat5.5.17

また、gcviewerの実行はJava環境のインストール、及び実行対象となるJavaアプリなどが必要となりますが、ここでは、それらの解説は省かせていただきます。

GCViewerのインストール及び実行


1、GCViewerの公式サイト  から最新版(2008年3月:gcviewer-1.28)をダウンロードします。今回は、gcviewer-1.28-bin.zipをダウンロードします。
2、ダウンロードしたファイルを適当な場所に解凍します。
3、解凍したフォルダの中にあるgcviewer-1.28.jarをダブルクリック、または以下のJavaコマンドによってGCViewerを実行します:
C:\work\tools\GC>java -jar gcviewer-1.28.jar
2008/03/08 10:53:13 com.tagtraum.perf.gcviewer.DataReaderFactory getDataReader
情報: File format: Sun 1.4.x
2008/03/08 10:53:13 com.tagtraum.perf.gcviewer.imp.DataReaderSun1_4_0 read
情報: Reading Sun 1.4.x/1.5.x format...
以下のような画面が表示されます:



GCViewerの見方


今回はTomcatを使って、実際にGCログをGCViewerで解析してみます。
1、$TOMCAT/bin/catalina.batファイルを修正します:
86行目の内容「表1」を「表2」のように変更します。
表1:
set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"


表2:
set JAVA_OPTS=%JAVA_OPTS% -Xloggc:c:\gc.txt -verbose:gc -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"


2、$TOMCAT/bin/startup.bat Tomcatを起動します。
C:\work\tomcat5.5.17\bin>startup.bat


3、c:\フォルダにgc.txtファイルが生成されます。
4、GCViewer上でc:\gc.txtを開きます。



特に注目すべきことが、赤い部分の「トータルヒープサイズ」、及び青い部分の「使ったヒップサイズ」です、「トータルヒープサイズ」は時間の推移とともに増加し続ける場合、また「使ったヒップサイズ」はあまり回収されていなかった場合、アプリケーションのメモリリークが起こっていると考えられ、何らかの対策(プログラムの改修)が必要となります。

Sponsored Link