環境
- Ubuntu16.04を想定しています。他ののLinux dustributionでも、ほぼ変わらないはずです。
JAVAプロセスのCPU使用率の確認
手順
1. jpsコマンドを利用して、JAVAのプロセスIDを確認します。 ここでは、Bootstrapを見たいので、プロセスIDは1180になります。
# jps 21509 Jps 1180 Bootstrap 1774 jboss-modules.jar
- topコマンドを利用して、そのプロセスIDのCPU使用率を確認します。 ここでは、topコマンドの結果を60sごとに、ファイルに保存するコマンドになります。
top -p 1180 -b -d 60 |tee -a top_cpu
- topコマンドを一回だけ実行したいときは、-n 1オプションを指定します。
top -p 1180 -b -n 1
JAVAプロセスのヒープメモリ使用率の確認
手順
1. jpsコマンドを利用して、JAVAのプロセスIDを確認します。 ここでは、Bootstrapを見たいので、プロセスIDは1180になります。
# jps 21509 Jps 1180 Bootstrap 1774 jboss-modules.jar
- jstatコマンドを利用して、そのプロセスIDのheap使用率を確認します。 ここでは、jstatコマンドの結果を60sごとに、ファイルに保存するコマンドになります。
# jstat -gc 1180 60000 |tee -a jstat_heap S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT 37888.0 39936.0 3848.4 0.0 3262976.0 1572221.1 488448.0 63041.7 105088.0 100846.7 12928.0 12096.3 34 1.082 4 0.568 1.650
- 確保済み領域/使用済み領域の確認方法
確保済み領域 (9216.0[S0C] + 6144.0[S1C] + 30720.0[EC] + 40448.0[OC] + 27136.0[MC]) / 1024 = 111MB
使用済み領域の確認 (0.0[S0U] + 5895.0[S1U] + 17433.9[EU] + 16309.2[OU]) / 1024 = 38MB
見方はこちらを参考にさせていただきました。 qiita.com
GCの起こし方
$ sudo -u tomcat jmap -histo:live 1180