>jstat-options-class显示ClassLoad的相关信息;-compiler 显示JIT编译的相关信息;-gc 显示和gc相关的堆信息;-gccapacity 显示各个代的容量以及使用情况;-gcmetacapacity 显示metaspace的大小-gcnew 显示新生代信息;-gcnewcapacity 显示新生代大小和使用情况;-gcold 显示老年代和永久代的信息;-gcoldcapacity 显示老年代的...
jstat-gc命令详解 1. 基本功能和用途 jstat是JDK自带的监控工具,主要用于监控Java虚拟机(JVM)的性能和资源使用情况。jstat -gc命令特别用于监控Java堆内存的使用情况和垃圾回收(GC)活动。通过该命令,开发者可以了解JVM的内存使用情况,包括新生代、老年代、永久代(在Java 8及以后的版本中,永久代被元空间Metaspace取代...
这里也可以通过JVM参数优化,可以通过参数控制,让CMS在重新标记阶段之前尽量触发一次Young GC(尽量YoungGC是因为可能新生代可能刚刚YoungGC不久,那此时就没必要再一次YoungGC了)这样做的好处是,改动的对象中从存活变为垃圾的那部分,就被清理掉了,缩短STW时间。虽然YoungGC也会造成停顿,但是YoungGC一般频率是比较快的,早...
每次YoungGC后会将存活对象生命中+1,直到=15就转到Old区,这个次数可以通过:-XX:MaxTenuringThreshold来配置), 由于Full GC需要对整个堆进行回收,导致应用访问变慢,因此应该尽可能减少Full GC的次数。
jstat -gc pid 最常用,可以评估程序内存使用及GC压力整体情况 S0C:第一个幸存区的大小,单位KB。 S1C:第二个幸存区的大小。 S0U:第一个幸存区的使用大小。 S1U:第二个幸存区的使用大小。 EC:伊甸园区的大小。 EU:伊甸园区的使用大小。 OC:老年代大小。
YGC:年轻代gc次数 FGC:老年代GC次数 新生代垃圾回收统计 S0C:第一个幸存区大小 S1C:第二个幸存区的大小 S0U:第一个幸存区的使用大小 S1U:第二个幸存区的使用大小 TT:对象在新生代存活的次数 MTT:对象在新生代存活的最大次数 DSS:期望的幸存区大小 ...
GC日志分析 我们需要通过 JVM 参数(默认为 JDK8)预先设置 GC 日志,通常有以下几种 JVM 参数设置: -XX:+PrintGC 输出GC日志 -XX:+PrintGCDetails 输出GC的详细日志 -XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式) -XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59...
1、统计垃圾回收的堆信息jstat -gc 每秒统计垃圾回收的堆信息,打印10次, jstat-gc1994100010 参数详解: S0C:第一个幸存区的大小,单位KB S1C:第二个幸存区的大小 S0U:第一个幸存区的使用大小 S1U:第二个幸存区的使用大小 EC:伊甸园区的大小 EU:伊甸园区的使用大小 OC:老年代大小 OU:老年代使用大小 MC:...
jstat -gc -h10 1626 1000 S0C:第一个幸存区的大小 S1C:第二个幸存区的大小 S0U:第一个幸存区的使用大小 S1U:第二个幸存区的使用大小 EC:伊甸园区的大小 EU:伊甸园区的使用大小 OC:老年代大小 OU:老年代使用大小 MC:方法区大小 MU:方法区使用大小 ...
第二种,Young GC后存活的对象大小超过Survivor 的50%,那就会触发动态年龄审核机制,如:1岁、2岁、3岁、4岁的对象加起来大于Survivor 的50%,那大于等于4岁的对象全部进入老年代。 第三种,Young GC后存活的对象大于Survivor的大小,那这一批对象直接全部进入老年代,特别坑。