面试系列----JVM调优和参数配置

面试系列----JVM调优和参数配置

0.JVM的参数类型

1.标准参数,是一些java常见一直自带的参数不随版本的更改而更改,如-version,-help,-showversion
在这里插入图片描述

2.X参数,是非标准化参数,表示在将来的JVM版本中可能会发生改变,但是这类以 -X开始的参数变化的比较小。

其中有一些常用的

  • -Xint 解释执行
    在这里插入图片描述

  • -Xcomp 第一次使用就是编译成本地代码

在这里插入图片描述

  • -Xmixd 混合模式,默认就是采用的混合模式
    在这里插入图片描述

3.XX参数

  • Boolean类型,就是一些-XX:+或者-某些属性,+表示开启,-表示关闭。

    比如-XX:+printGCDetails,是否打印GC收集细节。

    ​ -XX:+UseSerialGC,是否使用串行垃圾收集器。

  • KV设置类型,采用-XX:属性key=属性value的形式的参数

    比如:-XX:MetaspaceSize=128m,就是设置元空间的大小为128m

    ​ -XX:MaxTenuringThreshold=15,就是设置晋升年龄最大阈值,默认15。在新生代中对象存活次数(经过YGC的次数)后仍然存活,就会晋升到老年代。每经过一次YGC,年龄加1,当survivor区的对象年龄达到TenuringThreshold时,表示该对象是长存活对象,就会直接晋升到老年代。

这里说一下我们特别常见的参数-Xms和-Xmx他们都是属于XX参数的,-Xms就相当于-XX:InitialHeapSize,-Xmx相当于-XX:MaxHeapSize

1.查看JVM的默认值参数

  • -XX:+PrintFlagsInitial,查看初始默认值
  • -XX:+PrintFlagsFinal,主要查看修改更新
  • -XX:+PrintCommandLineFlags,输出JVM设置过的详细的XX参数的名称和值

2.常用的JVM参数

参数作用
-Xms初始大小内存,默认为物理内存1/64,等价于-XX:InitialHeapSize
-Xmx最大分配内存,默认为物理内存1/4,等价于-XX:MaxHeapSize
-Xss设置单个线程的大小,一般默认为512K~1024K,等价于-XX:ThreadStackSize,默认情况查看是0
-Xmn设置年轻代大小
-XX:MetaspaceSize设置元空间大小,元空间并不在虚拟机中,而是使用本地内存
-XX:+PrintGCDetails输出详细GC收集日志信息
-XX:SurvivoRatio设置新生代中eden和s0/s1空间的比例,默认-XX:SurvivoRatio=8,Eden:s0:s1=8:1:1,假如-XX:SurvivoRatio=4,Eden:s0:s1=4:1:1
-XX:NewRatio设置年轻代与老年代在堆结构的占比,默认-XX:NewRatio=2新生代占1,老年代占2,新生代占整个堆的1/3,假如-XX:NreRatio=4,新生代占1,老年代占4,新生代占整个堆的1/5,NewRatio值就是设置老年代的占比,剩下的1给新生代。
-XX:MaxTenuringThreshold设置垃圾最大年龄
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值