JVM 常用参数

1. 内存

堆内存

  • -Xms:最小堆内存,也可以使用 -XX:InitialHeapSize=2048m
  • -Xmx:对大堆内存,也可以使用 -XX:MaxHeapSize=2048m
  • eg:-Xms2G -Xmx5G

新生代

  • -Xmn:新生代的最大值,也可以使用 -XX:MaxNewSize=512m
  • -XX:NewSize=256m:新生代的最小内存
  • -XX:NewRatio=1:新生代与老年代的比值,1 就是 1:1,默认是 1:2
  • -XX:SurvivorRatio=6:Eden 区和 Survivor 区的比值,6 就是 6:1:1

永久代(1.7)

  • -XX:PermSize=128m:永久代初始大小
  • -XX:MaxPermSize=256m:永久代最大值

元空间(1.8)

  • -XX:MetaspaceSize=128m:初始大小
  • -XX:MaxMetaspaceSize=256m:最大值

其它

  • -Xss256k:线程栈的最大值,也可以使用 -XX:ThreadStackSize=256k
  • -XX:MaxDirectMemorySize=256m:最大直接内存大小

2. GC

  • -XX:PretenureSizeThreshold=1000000:大于这个值的对象是大对象,内存直接分配在老年代
  • -XX:MaxTenuringThreshold=10:年轻代的最大年龄
  • -XX:+UseParNewGC:年轻代使用 ParNew 收集器,-XX:-UseParNewGC
  • -XX:+UseParallelGC:年轻代使用 Parallel Scavenge 收集器,-XX:-UseParallelGC
  • -XX:+UseParallelOldGC:老年代使用 Parallel Old 收集器,-XX:-UseParallelOldGC
  • -XX:+UseConcMarkSweepGC:老年代使用 CMS 收集器,如果出现 Concurrent Mode Failure 会使用 Serial Old 收集器,新生代会使用 ParNew
  • -XX:+UseG1GC:使用 G1 收集器
  • -XX:ParallelGCThreads=16:并行执行 GC 的线程数
  • -XX:+CMSInitiatingOccupancyFraction=75:老年代占用超过这个比例就会触发 FULL GC,太高会导致 Concurrent Mode Failure
  • -XX:+UseCMSInitiatingOccupancyOnly:只使用上面设置的百分比,如果不设置,JVM 只会在第一次使用上面设置的值,之后就会动态调整
  • -XX:-UseCMSCompactAtFullCollection:设置在 CMS GC 之后是否需要做一次内存整理,默认开启
  • -XX:CMSFullGCsBeforeCompaction=1:设置 CMS 多少次 FULL GC 之后才做内存整理
  • -XX:MaxGCPauseMillis=200:设置 G1 FULL GC 的最大 STW 时间
  • -XX:+DisableExplicitGC:不允许 System.gc() 触发 FULL GC

3. 日志

  • -Xloggc:/data/gc-%t.log:GC 文件的日志地址,%t 是时间戳
  • -XX:+UseGCLogFileRotation:满了之后滚动,会覆写日志文件,不推荐使用
  • -XX:NumberOfGCLogFiles=4:触发滚动的最大文件数
  • -XX:+PrintGCDetails:GC 时打印更多 GC 信息
  • -XX:+PrintGCDateStamps:GC 时打印时间戳信息
  • -XX:+PrintTenuringDistribution:打印 Survivor 里有用的对象的年龄信息
  • -XX:+PrintHeapAtGC:打印 GC 前后堆的信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值