Windows + Tomcat で PrintClassHistogram を使う

環境

手順

Tomcat + Windows で、ヒープの情報を見る方法を毎回ググっている気がするのでメモ。

Tomcat の起動方法

> cd %CATALINA_HOME%
> set JAVA_OPTS=-verbose:gc -Xloggc:c:\gc.log -XX:+PrintClassHistogram
> bin\startup.bat

この後、目的の処理を実行している最中に
Tomcat を起動しているプロンプトをアクティブにして
Ctrl + Break を押す。

あとは、c:\gc.log を確認すれば OK。

こんな感じで表示される。

 num     #instances         #bytes  class name
----------------------------------------------
   1:       7827036      751395456  org.apache.xmlbeans.impl.store.Xobj$AttrXobj
   2:       5483547      526420512  org.apache.xmlbeans.impl.store.Xobj$ElementXobj

メモリリーク調査に使う

メモリリーク調査に使う時は、PrintClassHistogram 解析くん が便利。
PrintClassHistogramツール関係を作成してみた - kotetsu0921のノート