JAVA_MEM_OPTS=" -server -XX:+UseG1GC -Xmx2G -XX:MaxGCPauseMillis=10 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=15 -XX:G1MaxNewSizePercent=30 -XX:SurvivorRatio=6 -XX:InitiatingHeapOccupancyPercent=30 -XX:G1MixedGCLiveThresholdPercent=50 -XX:G1HeapWastePercent=5 -XX:+PrintGCDetails -Xloggc:gc/gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=home/fore/heapdump.hprof "
- -XX:+UnlockExperimentalVMOptions 解锁实验参数
- -XX:InitiatingHeapOccupancyPercent=30 如果整个堆的使用率超过这个值,g1会触发一次并发周期 提前启动标记周期
- -XX:G1HeapWastePercent=5 设置您愿意浪费的堆百分比。如果可回收百分比小于堆废物百分比,Java HotSpot VM 不会启动混合垃圾回收周期。默认值是 10%
- XX:G1MixedGCLiveThresholdPercent=50 为混合垃圾回收周期中要包括的旧区域设置占用率阈值。默认占用率为 65%。这是一个实验性的标志。必须要加 -XX:+UnlockExperimentalVMOptions 默认为65%,意思是垃圾占内存分段比例要达到65%才会被回收。如果垃圾占比太低,意味着存活的对象占比高, 在复制的时候会花费更多的时间
本文深入探讨了JAVA_MEM_OPTS环境变量中的G1GC参数配置,包括如何通过调整参数如UseG1GC, MaxGCPauseMillis, G1NewSizePercent等来优化垃圾回收性能,减少暂停时间,并提高Java应用程序的运行效率。
211

被折叠的 条评论
为什么被折叠?



