LoginSignup
0
0

More than 5 years have passed since last update.

【JVM】jstatでつまづいた時のまとめ

Posted at

はじめに

jstatをつかった際に詰まったことをまとめる

jstat起動時のつまづき

リモートデスクトップでjstatを使おうとしたら以下のようなエラーが帰ってきた
1234はJVMのPID

cmd
>jstat -gcutil 1234 1000
1234 not found

結論

リモートデスクトップでjstatを起動するときは
「PsEsec」を使わないとだめらしい

手順

PsEsecのダウンロード

PsExec

上のページからPsEsecをダウンロードして
リモートデスクトップ上の任意のフォルダに格納
今回はC:\Program Files\PSToolsにしました。

パスを通す

C:\Program Files\PSTools
これを環境変数のシステム環境変数のPathに追加

これでできるようになっているはずです。

jstatの実行

cmd
C:\Program Files\PSTools>PsEsec64.exe -s jstat -gcutil 1234 1000

リモートデスクトップのOSが64bitだったためPsEsec64.exeを使用しました。
32bitの場合はPsEsaec.exeで行けると思います。

出力結果のつまづき

ヘッダーの意味が分からなかったので調べた結果をまとめました。

jstat
この中の一部を抜粋

-gcutil option
ガベージ・コレクション統計データのサマリー

S0: Survivor領域0の使用率(現在の容量に対するパーセンテージ)。

S1: Survivor領域1の使用率(現在の容量に対するパーセンテージ)。

E: Eden領域の使用率(現在の容量に対するパーセンテージ)。

O: Old領域の使用率(現在の容量に対するパーセンテージ)。

M: メタスペースの使用率(現在の容量に対するパーセンテージ)。

CCS: 圧縮されたクラス領域の使用率(パーセンテージ)。

YGC: Young世代のGCイベントの数。

YGCT: Young世代のガベージ・コレクション時間。

FGC: フルGCイベントの数。

FGCT: フル・ガベージ・コレクションの時間。

GCT: ガベージ・コレクションの総時間。

S0はSurviverのFrom
S1はSurviverのTo
FromからToで使用率の遷移が分かる

OはOldの使用率
徐々に使用率が上がっていく

Mはネイティブメモリ
以前のヒープ領域といわれていた場所
16エクサバイトまで確保することが可能

この4つが分かればリソース状況が分かると思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0