本文主要是介绍JVM虚拟机学习(4)---JDK常用工具(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录页:https://mp.csdn.net/postedit/95937156
1.jps
1.1. jps -l
输出应用程序主类完整package名称或jar完整名称.
1.2. jps -v
列出jvm参数,
2. jstat
使用jstat -help查看参数格式如下:
- -t:可以在打印的列加上Timestamp列,用于显示系统运行的时间
- -h:可以在周期性数据数据的时候,可以在指定输出多少行以后输出一次表头
- vmid:进程pid
- interval: 执行每次的间隔时间(毫秒)
- count:总计输出多少行结果,缺省值为一直打
示例如下:
jstat具体有哪些options可以执行jstat -options查看,如下图:
下面介绍频繁GC时我自己常用的4种命令
2.1. jstat -gccause pid
显示垃圾回收的相关信息(通-gcutil),同时显示最后一次或当前正在发生的垃圾回收的诱因。
2.2. jstat -gc pid
显示gc的信息,查看gc的次数及时间
- S0C:年轻代中第一个survivor(幸存区)的容量 (字节)
- S1C:年轻代中第二个survivor(幸存区)的容量 (字节)
- S0U :年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
- S1U :年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
- EC :年轻代中Eden(伊甸园)的容量 (字节)
- EU :年轻代中Eden(伊甸园)目前已使用空间 (字节)
- OC :Old代的容量 (字节)
- OU :Old代目前已使用空间 (字节)
- MC:metaspace(元空间)的容量 (字节)
- MU:metaspace(元空间)目前已使用空间 (字节)
- CCSC:压缩类空间大小
- CCSC:压缩类空间大小
- YGC :从应用程序启动到采样时年轻代中gc次数
- YGCT :从应用程序启动到采样时年轻代中gc所用时间(s)
- FGC :从应用程序启动到采样时old代(全gc)gc次数
- FGCT :从应用程序启动到采样时old代(全gc)gc所用时间(s)
- GCT:从应用程序启动到采样时gc用的总时间(s)
2.3. jstat -gcutil pid
gc信息统计
- S0 :年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
- S1 :年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
- E :年轻代中Eden(伊甸园)已使用的占当前容量百分比
- O:old代已使用的占当前容量百分比
- M: 元空间已占用的大小
- YGC :从应用程序启动到采样时年轻代中gc次数
- YGCT :从应用程序启动到采样时年轻代中gc所用时间(s)
- FGC :从应用程序启动到采样时old代(全gc)gc次数
- FGCT :从应用程序启动到采样时old代(全gc)gc所用时间(s)
- GCT:从应用程序启动到采样时gc用的总时间(s)
2.4. jstat -gccapacity pid
VM分代内存的使用和占用大小。
- NGCMN :年轻代(young)中初始化(最小)的大小(字节)
- NGCMX :年轻代(young)的最大容量 (字节)
- NGC :年轻代(young)中当前的容量 (字节)
- S0C :年轻代中第一个survivor(幸存区)的容量 (字节)
- S1C : 年轻代中第二个survivor(幸存区)的容量 (字节)
- EC :年轻代中Eden(伊甸园)的容量 (字节)
- OGCMN :old代中初始化(最小)的大小 (字节)
- OGCMX :old代的最大容量(字节)
- OGC:old代当前新生成的容量 (字节)
- OC :Old代的容量 (字节)
- MCMN:metaspace(元空间)中初始化(最小)的大小 (字节)
- MCMX :metaspace(元空间)的最大容量 (字节)
- MC :metaspace(元空间)当前新生成的容量 (字节)
- CCSMN:最小压缩类空间大小
- CCSMX:最大压缩类空间大小
- CCSC:当前压缩类空间大小
- YGC :从应用程序启动到采样时年轻代中gc次数
- FGC:从应用程序启动到采样时old代(全gc)gc次数
3.思维导图
这篇关于JVM虚拟机学习(4)---JDK常用工具(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!