JVM调优参考模版

小于32G的机器,总结的GC调优参考模版:

-Xms4096M -Xmx4096M -Xmn3072M -Xss1M  -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFaction=92 -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSParallelInitialMarkEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -XX:+PrintGCDetails -Xloggc:gc.log -XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=/usr/local/demo1/oom

-Xms4096M:初始化堆内存大小

-Xmx4096M:最大堆内存大小

-Xmn3072M:新生代堆内存大小

-Xss1M:设置单个线程栈大小

-XX:MetaspaceSize=256M:元空间内存大小

-XX:MaxMetaspaceSize=256M:最大元空间内存大小,       各个内存区域的大小分配,需要自己精心调优

-XX:+UseParNewGC:新生代使用ParNew垃圾回收器

-XX:+UseConcMarkSweepGC:使用CMS垃圾回收器

-XX:CMSInitiatingOccupancyFaction=92:老年代达到92%执行进行FullGC

-XX:+UseCMSCompactAtFullCollection:进行FullGC时,对老年代空间进行压缩

-XX:CMSFullGCsBeforeCompaction=0:每次FullGC都进行空间的压缩

-XX:+CMSParallelInitialMarkEnabled: “初始标记” 阶段开启多线程并发执行。

-XX:+CMSScavengeBeforeRemark:CMS的重新标记阶段之前,先尽量执行一次Young GC

-XX:+DisableExplicitGC:  直接禁止掉  system.gc() 

-XX:+PrintGCDetails:打印GC信息

-Xloggc:gc.log:打印的日志文件名称

-XX:+HeapDumpOnOutOfMemoryError :发生OOM的时候dump内存快照,便于分析OOM原因

-XX:HeapDumpPath=/usr/local/app/oom:dump内存快照文件的路径

 
原文地址:https://www.cnblogs.com/Jemb/p/11631317.html