1 JVM默认参数
Java版本:OpenJDK 1.8.0_312
启动Java应用时的默认参数如下表:
序号 | 参数 | 默认值 | 1最小堆空间(Xms/InitialHeapSize)65.0M2最大堆空间(Xmx/MaxHeapSize)974.0M3新生代空间20.5M4最大新生代空间324.5M5老年代空间41.5M6元空间(最小)20.79M7垃圾回收器UseParallelGC2 启动SpringBoot服务
构建SpringBoot服务并启动。
其中,启动时没有手动配置JVM参数,直接使用JVM默认参数。
3 Java进程
查看Java进程:
jps -l
运行的Java应用PID为47040。
4 查看GC收集器
jinfo -flag UseParallelGC 47040jinfo -flag UseSerialGC 47040
+:正在使用的垃圾回收器
-:没有使用的垃圾回收器
由结果可知JDK8默认的垃圾回收器为ParallelGC。
5 查看JVM生效参数
java -XX:+PrintFlagsFinal -version | grep :
其中,通过:过滤出生效的配置。
=默认值
:=用户或者JVM赋值
6 查看堆栈信息
sudo jmap -heap 47040
7 查看GC capacity
垃圾回收容量
jstat -gccapacity 47040
序号 | 参数 | 描述 | 默认值 | 1NGCMN当前年轻代最小容量20992.0 Bytes2NGCMX当前年轻代最大容量332288.0 Bytes3NGC当前年轻代容量332288.0 Bytes4S0CS0区容量20992.0 Bytes5S1CS1区容量20992.0 Bytes6ECEden区容量290304.0 Bytes7OGCMN老年代最小容量42496.0 Bytes8OGCMX老年代最大容量665088.0 Bytes9OGC当前老年代容量90112.0 Bytes10OC老年代容量90112.0 Bytes11MCMN最小元数据容量0.0 Bytes12MCMX最大元数据容量1112064.0 Bytes13MC当前元数据空间容量72280.0 Bytes14CCSMN最小压缩类空间容量0.0 Bytes15CCSMX最大压缩类空间容量1048576.0 Bytes16CCSC当前压缩类空间容量9560.0 Bytes17YGC年轻代垃圾回收次数1618FGC老年代垃圾回收次数38 GC使用情况
垃圾回收运行信息。
C(Capacity):容量
U(Used):用量
序号 | 参数 | 描述 | 默认值/已用值 | 1S0Cs0区总容量20992.0 Bytes2S1Cs1区总容量14336.0 Bytes3S0Us0区总用量0.0 Bytes4S1Us1区总用量13950.3 Bytes5ECEden区总容量291328.0 Bytes6EUEden区总用量274189.4 Bytes7OCOld区总容量90112.0 Bytes8OUOld区总用量35149.9 Bytes9MC方法区总容量71512.0 Bytes10MU方法区总用量67434.6 Bytes11CCSC压缩类空间容量9560.0 Bytes12CCSU压缩类空间使用量8843.0 Bytes13YGC新生代垃圾回收次数1514YGCT新生代垃圾回收时间0.249 秒15FGC老年代垃圾回收次数316FGCT新生代垃圾回收时间0.306秒17GCT垃圾回收总时间0.555 秒
【参考文献】
[1]https://blog.csdn.net/zhaozheng7758/article/details/8623549
[2]https://blog.csdn.net/eos2009/article/details/78522901