【JVM】JVM优化参数及日志

JVM参数含义

堆设置

-Xms:初始堆大小

-Xmx:最大堆大小

-XX:NewSize=n:设置年轻代大小

-XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4

-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。Eden:S0:S1=8:1:1(默认值为8)

-XX:MaxPermSize=n:设置持久代大小

-XX:InitialHeapSize —— 初始堆大小

-XX:MaxHeapSize —— 最大堆大小

-XX:NewSize —— 初始新生代大小

-XX:MaxNewSize —— 最大新生代大小

-XX:PermSize —— 永久代大小

-XX:MaxPermSize —— 最大永久代大小

-XX:MaxTenuringThreshold —— 最大存活年龄(默认值15,即经历15次YGC存活的对象进入老年代)

-XX:PretenureSizeThreshold=10485760 —— 大对象阈值

收集器设置

-XX:+UseSerialGC:设置串行收集器

-XX:+UseParallelGC:设置并行收集器

-XX:+UseParalledlOldGC:设置并行年老代收集器

-XX:+UseConcMarkSweepGC:设置并发收集器

-XX:ParallelGCThreads=n:设置并行收集器收集时使用的CPU数。并行收集线程数。

-XX:+UseCMSCompactAtFullCollection —— + 开启CMS在Full GC后进行内存碎片整理,- 关闭

-XX:CMSFullGCsBeforeCompaction=0 —— 与上面的配合使用,数值代表多少次FGC后进行一次碎片整理

-XX:+CMSParallelInitialMarkEnabled —— 在CMS垃圾回收器的“初始标记”阶段开启多线程并发执行

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

-XX:MaxGCPauseMills=200ms —— G1执行GC的时候最多可以让系统停顿多长时间(默认200ms)

-XX:G1NewSizePercent —— G1设置新生代初始占比(默认5%)

-XX:G1MaxNewSizePercent —— G1设置新生代最大占比(默认60%)

-XX:InitiatingHeapOccupancyPercent —— G1:触发Mix GC的老年代占比阈值(默认45%)

-XX:G1HeapWastePercent —— G1:执行回收时,空闲Region达到一定程度,停止回收(默认5%)

-XX:+DisableExplicitGC —— 禁止显示执行GC,不允许通过代码触发GC(System.gc() 失效)

垃圾回收统计信息

-XX:+HeapDumpOnOutMemoryError —— OOM时dump一份内存快照

-XX:HeapDumpPath=/usr/local/app/oom —— OOM时生成内存快照文件的存放位置

-XX:+PrintGCDetails —— 打印详细的GC日志

-XX:TraceClassLoading/-XX:TraceClassUnloading —— 追踪类的加载和卸载情况,控制台输出

-XX:+PrintGCTimeStamps —— 打印出来每次GC发生的时间

-Xloggc:gc.log —— 设置将gc日志写入一个磁盘文件

 

更过参数查看:http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html

 

JVM调优参数模板

常用参数模板,可针对项目系统具体情况自行调整

-Xms4096M

-Xmx4096M

-Xmn3072M

-Xss1M

-XX:MetaspaceSize=256M

-XX:MaxMetaspaceSize=256M

-XX:+UseParNewGC

-XX:+UseCOncMarkSweepGC

-XX:CMSInitiationOccupancyFaction=92

-XX:+UseCMSCompactAtFullCollection

-XX:CMSFullGCsBeforeCompaction=0

-XX:+CMSParallelInitialMarkEnabled

-XX:CMSScavengeBeforeRemark

-XX:+DisableExplicitGC

-Xlogg:gc.log

-XX:+HeapDumpOnOutOfMemoryError

-XX:HeapDumpPath=/usr/local/app/oom

 

GC日志

image.png

image

image

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值