Java虚拟机常见参数

1. JVM启动参数分类

1.1 标准参数(-)

  • 所有JVM都必须实现这些参数的功能,而且向后兼容
  • 如-verbose:gc (输出每次GC的相关情况)

1.2 非标准参数(-X)

  • -Xint         解释执行
  • -Xcomp     第一次使用就编译成本地代码
  • -Xmixed     混合模式,JVM自己来决定是否编译成本地代码,默认

1.2 非Stable参数(-XX)

  • Boolean类型:通过+-来控制是否开启
    • 如-XX:+UseConsMarkSweepGC
  • 非Boolean类型:类似于key=value
    • 如-XX:GCTimeRatio=19

2. 内存配置参数

2.1 配置JVM最大堆内存为10240M

-Xmx10240m

# 等价于
-XX:MaxHeapSize=1024m

2.2 配置JVM初始堆内存为10240M

-Xms10240m

# 等价于
XX:InitialHeapSize=1024m
  • 线上环境推荐Xms与Xmx配置一样大小 

2.3 配置JVM新生代内存大小

-Xmn512m

# 等价于
-XX:NewSize=512m

 2.4 配置单个线程栈内存大小

-Xss1024k

# 等价于
-XX:ThreadStackSize=1024k

2.5 配置元空间大小

-XX:MetaspaceSize=1024m

 2.6 配置eden区与suvivor区占比为8:1:1

-XX:SurvivorRatio=8

2.7 配置老年代与新生代内存占比为2:1

-XX:NewRatio=2

 2.8 配置多少轮生存后放到老年代

-XX:MaxTenuringThreshold=15

3. 其他配置

3.1 打印参数默认值

-XX:+PrintFlagsInitial

3.2 打印参数的更新情况

-XX:+PrintFlagsFinal

3.3 打印常用的参数信息

-XX:+PrintCommandLineFlags

4. 垃圾回收相关

4.1 打印GC回收细节

-XX:+PrintGCDetails

4.2 开启指定垃圾回收器

-XX:+UseSerialGC
# 开启后会使用 Serial+Serial Old的收集器组合
-XX:+UseParNewGC
# 开启后会使用 ParNew+Serial Old的收集器组合,但不推荐了
-XX:+UseParallelGC
# 开启后会使用 Parallel Scanvenge+Parallel Old的收集器组合
-XX:+UseParallelGC
# 开启后会使用 Parallel Scanvenge+Parallel Old的收集器组合
-XX:+UseConcMarkSweepGC
# 开启后会使用ParNew+CMS+Serial Old的收集器组合
-XX:+UseG1GC

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值