jvm参数调整 详解
jvm 配置参数
-Xms:堆最小内存大小
-Xmx:堆最大内存大小
-Xmn:新生代内存大小,堆内存减去新生代就是老年代
-XX:PermSize:永久代大小
-XX:MaxPermSize:永久代最大大小
-Xss:每个线程最大内存
-XX:MateSpaceSize:元空间大小
-XX:MaxMateSpaceSize:元空间最大大小
-XX:MaxTenuringThreshold:进入老年代年龄设置,最大为15,因为对象头4位最大为15
-XX:PretenureSizeThreshold:默认为0,大对象大小 如果达到 直接进入老年代
–XX:SurvivorRatio:8 默认Eden:Survivor0:survivor1=8:1:1
–XX:+UseXXGC:指定使用gc回收器
–XX:CMSInitiatingOccpancyFaction:设置老年代占用多少比例触发CMS垃圾回收
–XX:+UseCMSCompactAtFullCollection:默认打开,FullGc后会Stw进行碎片整理
–XX:CMSFullFullGcBeforeCompaction:默认是0,意思每次FullGc后都会进行
–XX:G1HeapRegionSize:设置堆G1每个Region大小
–XX:G1NewSizePercent:设置新生代对应堆内存比例
–XX:G1NewSizePercent:设置新生代对应堆内存最大比例
–XX:MaxGCPauseMills:设置G1停顿时间
–XX:InitiatingHeapOccupancyPercent:默认值45,老年代占用堆内存45%触发新生代+老年代的垃圾回收
–XX:G1MixedGCCountTarget:最后一阶段执行几次混合回收默认8次
–XX:G1HeapWastePercent:默认5%,一旦空闲的Region数量达到堆内存的5%就意味本次混合回收结束了
–XX:G1MixedGcLiveThresholdPercent:默认85%,Region内存活对象低于这个值才会进行回收
-XX:+PrintGCDetails:打印gc日志
-XX:+PrintGCTimeStamps:打印gc发生时间
-Xloggc:gc.log:将gc日志写入文件
-XX:+DisableExplicitGc:禁止显示GC(如system.gc())
-XX:HeapDumpPath:保存dump文件路径
-XX:HeapDumpOnXXX:出现异常保存dump文件