Java EEのサイジング 4

JavaVMの状況を簡易出力するjstat

JavaVMの状況を簡易出力するjstat

Javaには、グラフィカルなフラフを出力する環境やリソースがない場合を想定したツールも用意されています。jstat(Java 1.4以前はjvmstat)と呼ばれるツールです。使い方は簡単です。

jstat -出力オプション(-h[ヘッダーを出力する行間隔]) [プロセス番号] [出力間隔(ミリ秒)]

 

例えば、

C:\>jstat -gcutil -h5 6684 1000

 

を入力すると、次のように出力されます。

  • 出力オプション: gcutilで指定されたフォーマットで、ヘッダーを5行間隔、1秒間隔で出力します。
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
 87.58   0.00  74.95  69.37  99.47    302    0.379     5    0.453    0.832
 87.58   0.00  74.95  69.37  99.47    302    0.379     5    0.453    0.832
 87.58   0.00  74.95  69.37  99.47    302    0.379     5    0.453    0.832
 87.58   0.00  74.95  69.37  99.47    302    0.379     5    0.453    0.832
 87.58   0.00  74.95  69.37  99.47    302    0.379     5    0.453    0.832
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
 87.58   0.00  74.95  69.37  99.47    302    0.379     5    0.453    0.832
 87.58   0.00  74.95  69.37  99.47    302    0.379     5    0.453    0.832
  0.00  73.86  24.80  69.77  99.47    303    0.380     5    0.453    0.832
  0.00  73.86  24.80  69.77  99.47    303    0.380     5    0.453    0.832
  0.00  73.86  24.80  69.77  99.47    303    0.380     5    0.453    0.832

 

それぞれの項目の意味は、以下の通りです。

表2: jstat -gcutilの出力項目一覧

説明
S0 Survivor領域0(From)の使用率(現在の容量に対するパーセンテージ)
S1 Survivor領域1(To)の使用率(現在の容量に対するパーセンテージ)
E Eden領域の使用率(現在の容量に対するパーセンテージ)
O Old領域の使用率(現在の容量に対するパーセンテージ)
P Permanent領域の使用率(現在の容量に対するパーセンテージ)
YGC New領域のカベージ・コレクションの回数
YGCT New領域のガベージ・コレクション時間(ミリ秒)
FGC 完全カベージ・コレクションの回数
FGCT 完全ガベージ・コレクション時間
GCT ガベージ・コレクション総時間(ミリ秒)

アプリケーションの性能が思わしくない場合、コード上の不具合でなければ、ヒープ・メモリーの状況を監視することで原因がつかめることが多いです。ヒープを監視した結果のログは、ツールを使ってグラフィカルに解析することも可能であるほか、ログ自身からもヒープの状況を細かく追跡できます。実運用後の監視でも、特にガベージ・コレクションの回数をチェックしておくことは重要です。

それぞれの項目(ヒープ領域)に関する内容は、次ページで細かく説明します。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る