チューニングに使えるJava性能監視ツール

2011年3月25日(金)
東 浩二(A-pZ)(監修:山田祥寛)

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 ガベージ・コレクション総時間(ミリ秒)

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

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

著者
東 浩二(A-pZ)(監修:山田祥寛)
WINGSプロジェクト

有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表:山田祥寛)。おもな活動は、Web開発分野の書籍/雑誌/Web記事の執筆。ほかに海外記事の翻訳、講演なども幅広く手がける。2011年3月時点での登録メンバは36名で、現在もプロジェクトメンバーを募集中。執筆に興味のある方は、どしどしご応募頂きたい。著書多数。
http://www.wings.msn.to/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています