Out Of My Memory

雨垂れ石を穿つ

【Java】gcutilコマンド GCの状態をタイムスタンプと共に出力する。

●事前準備

jpsで監視したいjavaプロセスを調べておく。

 

●実施

以下のコマンドを実行(1000ミリ秒毎に結果を出力している)

jstat -gcutil -h 10 [javaプロセスのID] 1000 | awk -F, '{print strftime("%Y-%m-%d %H:%M:%S",systime()) $1}'

 

●結果

2019-03-17 11:39:38 S0 S1 E O M CCS YGC YGCT FGC FGCT CGC CGCT CT
2019-03-17 11:39:38 0.00 100.00 17.39 12.32 95.68 86.38 5 0.035 0 0.000 2 0.005 0.040
2019-03-17 11:39:39 0.00 100.00 17.39 12.32 95.68 86.38 5 0.035 0 0.000 2 0.005 0.040
2019-03-17 11:39:40 0.00 100.00 17.39 12.32 95.68 86.38 5 0.035 0 0.000 2 0.005 0.040
2019-03-17 11:39:41 0.00 100.00 17.39 12.32 95.68 86.38 5 0.035 0 0.000 2 0.005 0.040
2019-03-17 11:39:42 0.00 100.00 17.39 12.32 95.68 86.38 5 0.035 0 0.000 2

 

gcの状態とタイムスタンプをファイルとコンソール両方へ出力する

実行結果は上記と同じ

jstat -gcutil -h 10 PID Xミリ秒 | gawk '{print strftime("%y/%m/%d %H:%M:%S"), $0} {fflush()}' | tee XXX.log