インフラエンジニアbacchiのわかったことまとめ

bacchi.me

Java

TomcatのGCの発生頻度の調査手順のまとめ

更新日:

TomcatのPIDを調べ、jstat コマンドを実行すればOK

TomcatのPIDの調査

まずはプロセスIDを調べます。

または

tomcatユーザの起動したJavaプロセスのIDを付加情報付きで表示します。

javaプロセスがひとつしかない場合などは、下記のコマンドを実行します。

jstat コマンドでGCの統計情報を見る

jstat コマンドの -gcutil オプションで見ることができます。

PIDが54321だった場合、5秒ごとにgcの発生状況をチェックするコマンドの例。

実行するコマンドの意味は以下の通り。

詳しくはjstatのマニュアルを見てください。

gcutilの見出しについて

gcutil の見出しの見方は下記の通り。

gcutilの見出しの詳細

説明
S0 Survivor 領域 0 の使用率 (現在の容量に対するパーセンテージ)
S1 Survivor 領域 1 の使用率 (現在の容量に対するパーセンテージ)
E Eden 領域の使用率 (現在の容量に対するパーセンテージ)
O Old 領域の使用率 (現在の容量に対するパーセンテージ)
P Permanent 領域の使用率 (現在の容量に対するパーセンテージ)
*C javaが確保したメモリサイズ
*U 使用済みメモリ
YGC 若い世代の GC イベント数
YGCT 若い世代のガベージコレクション時間
FGC フル GC イベント数
FGCT フルガベージコレクション時間
GCT ガベージコレクション総時間

Java8の場合

2015/01/09 追記
Java8はpermgenがなくなってmetaspaceになったので、P -> M に変わってました・・

調査の上まとめます。

メモリ使用量の確認

メモリ使用量を確認したいときはgcオプションを使えばOK。

Sponsor Link

スポンサーリンク

Sponsor Link

スポンサーリンク

-Java

Copyright© bacchi.me , 2018 AllRights Reserved.