Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 保守/移行編


5.7.2 拡張verbosegc情報の取得

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

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

オプション

意味

-XX:+HitachiVerboseGC

拡張verbosegc情報を出力するかどうかを指定します。GCの内部領域であるEden,Survivor,Tenured,Metaspace領域種別ごとに情報を出力します。デフォルトでは出力されません。-XX:+HitachiVerboseGCと指定すると拡張verbosegc情報が出力され,-XX:-HitachiVerboseGCと指定すると拡張verbosegc情報は出力されません。

-XX:+HitachiVerboseGCPrintDate

拡張verbosegc情報を出力するログの各行の先頭に,ログを出力した日付を表示するかどうかを指定します。

-XX:+HitachiVerboseGCCpuTime

GCの開始から終了までの間で,GCの実行スレッドのユーザモードおよびカーネルモードに費やされた時間だけを表示するか,GCの開始から終了までの実時間を表示するかを指定します。

-XX:HitachiVerboseGCIntervalTime=<時間間隔>

-XX:+HitachiVerboseGCに対する出力時間の間隔を数値(単位:秒)で指定します。時間間隔のデフォルト値は0(GC発生のたびに出力)です。なお,時間間隔を指定すると,その時間間隔の間に発生したGC回数も表示されます。

-XX:+HitachiVerboseGCPrintCause

拡張verbosegc情報を出力するログに,GCが発生した原因を表示するかどうかを指定します。

-XX:+HitachiCommaVerboseGC

拡張verbosegc情報を出力するログをCSV形式で出力するかどうかを指定します。CSV形式で出力する場合,拡張verbosegc情報の括弧「( )」「[ ]」「< >」や,区切り「:」はすべて省略され,数値または文字列が「,」で区切られて出力されます。

-XX:+HitachiVerboseGCPrintTenuringDistribution

Survivor領域の年齢分布情報を出力するかどうかを指定します。デフォルトでは出力されません。出力形式や出力情報については,「9.11 Survivor領域の年齢分布情報出力機能」を参照してください。

-XX:+HitachiVerboseGCPrintJVMInternalMemory

JavaVM内部で管理しているヒープ情報をJavaVMログファイルに出力するかどうかを指定します。

-XX:+HitachiVerboseGCPrintThreadCount

Javaスレッドの数を監視するために,Javaスレッドの数をJavaVMログファイルに出力するかどうかを指定します。

-XX:+HitachiVerboseGCPrintDeleteOnExit

java.io.File.deleteOnExit()を呼び出したことによってJavaVMが確保した累積のヒープサイズとメソッドの呼び出し回数を,JavaVMログファイルに出力するかどうかを指定します。

-XX:+PrintCodeCacheInfo

コードキャッシュ領域の使用量を出力するかどうか,また,使用量がしきい値に達したことを知らせるメッセージを出力するかどうかを指定します。

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

出力形式
[id] <date> (Skip Full:full_count, Copy:copy_count) [gc_kind gc_info, gc_time secs][Eden: eden_info][Survivor: survivor_info][Tenured: tenured_info][Metaspace: metaspace_info][class space: class_space_info]  [cause:cause_info] [User: user_cpu secs] [Sys: system_cpu secs][IM: jvm_alloc_size, mmap_total_size, malloc_total_size][TC: thread_count][DOE: doe_alloc_size, called_count][CCI: cc_used_sizeK, cc_max_sizeK, cc_infoK]

説明

  • id:JavaVMログファイル識別子

    JavaVMログファイル識別子を次の表に示します。この識別子は,ログをログの内容(機能)ごとにフィルタリングして調査する場合に利用できます。

    表5‒24 JavaVMログファイル識別子

    識別子

    ログの内容

    CCI

    コードキャッシュ領域情報

    CLT

    クラスライブラリのスタックトレース

    JCC

    JITコンパイル失敗情報

    JMS

    JITコンパイルを抑制したJITコンパイラスレッドに関する情報

    OMH

    OutOfMemoryの発生頻度に関する情報

    OOM

    OutOfMemoryError発生時の例外情報とスタックトレース

    PTD

    Survivor領域の年齢分布情報

    VGC

    拡張verbosegc情報

  • date:日時

  • full_count:FullGCをスキップした回数(-XX:HitachiVerboseGCIntervalTimeを指定した場合だけ)

  • copy_count :CopyGCをスキップした回数(-XX:HitachiVerboseGCIntervalTimeを指定した場合だけ)

  • gc_kind:GC種別(Full GCまたはGC)

  • gc_info:GC情報(GC前の領域長 -> GC後の領域長(領域サイズ))

    (例) 264K->0K(512K)

  • gc_time:GC経過時間(単位:秒)

  • eden_info:Eden情報

  • survivor_info:Survivor情報

  • tenured_info:Tenured情報

  • metaspace_info:Metaspace領域情報

  • class_space_info:CompressedClassSpace情報

  • cause_info:GCの原因

  • user_cpu secs:GCスレッドがユーザモードに費やしたCPU時間(単位:秒)

  • system_cpu secs:GCスレッドがカーネルモードに費やしたCPU時間(単位:秒)

  • jvm_alloc_size:JavaVM内部で管理している領域のうち,現在使用中の領域のサイズ(mmap_total_sizeとmalloc_total_sizeの合計サイズのうち,現在使用中の領域のサイズ)(-XX:+HitachiVerboseGCPrintJVMInternalMemoryを指定した場合だけ)

  • mmap_total_size:JavaVM内部で管理している領域のうち,mmap(Windowsの場合はVirtualAlloc)で割り当てたCヒープの総サイズ(-XX:+HitachiVerboseGCPrintJVMInternalMemoryを指定した場合だけ)

  • malloc_total_size:JavaVM内部で管理している領域のうち,mallocで割り当てたCヒープの総サイズ(-XX:+HitachiVerboseGCPrintJVMInternalMemoryを指定した場合だけ)

  • thread_count:Javaスレッドの数(-XX:+HitachiVerboseGCPrintThreadCountを指定した場合だけ)

  • doe_alloc_size:java.io.File.deleteOnExit()を呼び出して確保した累積のヒープサイズ(-XX:+HitachiVerboseGCPrintDeleteOnExitを指定した場合だけ)

  • called_count:java.io.File.deleteOnExit()の呼び出し回数(-XX:+HitachiVerboseGCPrintDeleteOnExitを指定した場合だけ)

  • cc_used_size:GC時のコードキャッシュ領域の使用サイズ(単位:キロバイト)(-XX:+PrintCodeCacheInfoを指定した場合だけ)

  • cc_max_size:コードキャッシュ領域の最大サイズ(単位:キロバイト)(-XX:+PrintCodeCacheInfoを指定した場合だけ)

  • cc_info:保守情報(-XX:+PrintCodeCacheInfoを指定した場合だけ)

出力例

-XX:+HitachiCommaVerboseGCオプションを指定した場合の出力例を次に示します。

VGC,Fri Jan 23 21:37:50 2004,11,41,0,GC,16886,16886,65088,0.0559806,
4094,0,4096,447,447,448,12345,16439,60544,1116,1116,4096,0,0.0312500, 0.0156250,729,928,0,509,2167,2054,2301,49152,2304
VGC,Fri Jan 23 21:37:55 2004,6,24,0,Full GC,65082,65082,65088,0.4294532,
4094,4094,4096,447,447,448,60541,60541,60544,1116,1116,4096,0,0.0156250, 0.0312500,729,928,0,509,16,170,2301,49152,2304