8回复
2年前
G1垃圾收集器频繁GC,却一直不超过最小堆内存
CommandLine flags: -XX:G1ReservePercent=20 -XX:GCLogFileSize=2097152 -XX:InitialHeapSize=1073741824 -XX:MaxHeapSize=4294967296 -XX:NumberOfGCLogFiles=5 -XX:+PrintGC -XX:+PrintGCDateStamps -XX:-PrintGCDetails -XX:+PrintGCTimeStamps -XX:-PrintTenuringDistribution -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseG1GC -XX:+UseGCLogFileRotation
gc日志输出配置的jvm参数如上,采用G1垃圾收集器,最小堆内存1G,最大最内存4G,没有配置最大停顿时间
访问量增大时一分钟多次GC,GC停顿时间也变大了许多,但是堆内存始终小于1G而没有进行扩充,后来将最小堆内存1G不变,将最大堆内存改成2G,1.1G的情况下,堆内存占用还是没有超过1G而没有扩充。
疑问:为何当访问量加大时,堆内存始终没有扩大到大于最小堆内存呢?请大佬们帮忙解惑,谢谢。
848 阅读