Cosminexus システム運用ガイド

[目次][用語][索引][前へ][次へ]

5.5.7 日立JavaVM固有のログの調査(日立JavaVMログファイル)

日立JavaVMログファイルは,日立が標準のJavaVMに追加した拡張オプションを使用して出力されます。このログを取得するためには,対象のJ2EEサーバを起動するときに必要なオプションを指定しておく必要があります。

<この項の構成>
(1) 日立JavaVMログファイルを出力するオプション
(2) 拡張verbosegc情報の取得

(1) 日立JavaVMログファイルを出力するオプション

日立JavaVMログファイルを出力するオプションを次に示します。

それぞれのオプションを指定した場合の出力内容の詳細については,マニュアル「Cosminexus リファレンス 定義編」を参照してください。

(2) 拡張verbosegc情報の取得

J2EEサーバのusrconf.cfgファイルに,次の表に示すオプションを指定すると,拡張verbosegc情報を取得できます。拡張verbosegc情報からは,そのサーバで必要とするJavaヒープ領域サイズ,Perm領域サイズなどを見積もるための情報が取得できます。なお,Javaログには,OutOfMemoryError発生時のスタックトレースも出力されます。

表5-69 拡張verbosegc情報の取得を指定するオプション

オプション 意味
-XX:+HitachiVerboseGC 拡張verbosegc情報を出力するかどうかを指定します。ガーベージコレクションの内部領域であるEden,Survivor,Tenured,Perm種別ごとに情報を出力します。デフォルトでは出力されません。-XX:+HitachiVerboseGCと指定すると拡張verbosegc情報が出力され,-XX:-HitachiVerboseGCと指定すると拡張verbosegc情報は出力されません。
-XX:+HitachiVerboseGCPrintDate 拡張verbosegc情報を出力するログの各行の先頭に,ログを出力した日付を表示するかどうかを指定します。
-XX:+HitachiVerboseGCCpuTime ガーベージコレクションの開始から終了までの間で,ガーベージコレクションの実行スレッドのユーザモードおよびカーネルモードに費やされた時間だけを表示するか,ガーベージコレクションの開始から終了までの実時間を表示するかを指定します。
ただし,HP-UXを使用している場合,この機能は使用できません。オプションを指定しても無効になります。
-XX:HitachiVerboseGCIntervalTime=<時間間隔> -XX:+HitachiVerboseGCに対する出力時間の間隔を数値(単位:秒)で指定します。時間間隔のデフォルト値は0(ガーベージコレクション発生のたびに出力)です。なお,時間間隔を指定すると,その時間間隔の間に発生したガーベージコレクション回数も表示されます。
-XX:+HitachiVerboseGCPrintCause 拡張verbosegc情報を出力するログに,ガーベージコレクションが発生した原因を表示するかどうかを指定します。
-XX:+HitachiCommaVerboseGC 拡張verbosegc情報を出力するログをCSV形式で出力するかどうかを指定します。CSV形式で出力する場合,拡張verbosegc情報の括弧「( )」「[ ]」「< >」や,区切り「:」はすべて省略され,数値または文字列が「,」で区切られて出力されます。

ログファイルの出力形式と出力例を次に示します。

出力形式
[id]<date>(Skip Full:full_count, Copy:copy_count)[gc_kind gc_info, gc_time secs][DefNew::Eden: eden_info][DefNew::Survivor: survivor_info][Tenured: tenured_info][Perm: perm_info][cause:cause_info][User: user_cpu secs][Sys: system_cpu secs]
説明
  • id:日立JavaVMログファイル識別子
  • date:日時
  • full_count:Full GCをスキップした回数(-XX:HitachiVerboseGCIntervalTime指定した場合だけ)
  • copy_count :Copy GCをスキップした回数(-XX:HitachiVerboseGCIntervalTime指定した場合だけ)
  • gc_kind:ガーベージコレクション種別(Full GCまたはGC)
  • gc_info:ガーベージコレクション情報(ガーベージコレクション前の領域長 -> ガーベージコレクション後の領域長(領域サイズ))
    (例) 264K->0K(512K)
  • gc_time:ガーベージコレクション経過時間(単位:秒)
  • eden_info:Eden情報
  • survivor_info:Survivor情報
  • tenured_info:Tenured情報
  • perm_info:Perm情報
  • cause_info:ガーベージコレクションの原因
  • user_cpu secs:ガーベージコレクションスレッドがユーザモードに費やしたCPU時間(単位:秒)
  • system_cpu secs:ガーベージコレクションスレッドがカーネルモードに費やしたCPU時間(単位:秒)

出力例
[VGC]<Thu Apr 24 19:24:48 2003>(Skip Full:3,Copy:8)[GC 20641K->4505K(260224K), 0.0108370 secs][DefNew::Eden: 16255K->0K(16256K)][DefNew::Survivor: 351K->471K(1984K)][Tenured: 4033K->4033K(241984K)][Perm: 12071K->12071K(12288K)]
[VGC]<Thu Apr 24 19:35:43 2003>(Skip Full:0,Copy:10)[GC 20550K->4414K(260224K), 0.0086975 secs][DefNew::Eden: 16255K->0K(16256K)][DefNew::Survivor: 260K->381K(1984K)][Tenured: 4033K->4033K(241984K)][Perm: 12071K->12071K(12288K)][cause:System.gc][User: 0.0156250 secs][Sys: 0.0312500 secs]