JVM-参数配置

本文介绍了JVM的参数类型,包括标配参数、X参数和XX参数,并详细讲解了各个参数的用途,如-Xms和-Xmx用于设置堆内存大小,-XX:MetaspaceSize设定元空间大小,-XX:+PrintGCDetails用于打印GC日志。还探讨了JVM配置的默认值及如何查看,以及提供了常用配置清单,帮助理解JVM内存管理和调优。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、JVM参数类型

1、标配参数

        -version、-help、-showversion

2、X参数

       -Xint 解释执行

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

       -Xmixed 混合模式

3、XX参数

布尔类型

       格式:  -XX:+/- 某个属性值,+表示开启,-表示关闭

       Case:

  • 打印GC收集细节日志 -XX:+PrintGCDetails

       

  • 指定垃圾回收器(Serial): -XX:+UseSerialGC

       

KV设置类型

      格式:-XX:属性key=属性值value

      Case:

  • -XX:MetaspaceSize=128m(元空间默认约21m)

       

  • -XX:MaxTenuringThreshold=15 (转向老年代前,年轻代GC次数)

       

jinfo实际使用

格式:

  • jinfo -flag 配置项 进程编号

Case:

  • jinfo -flags 进程编号 查询线程下所有配置项(Command line里面的信息是手工修改配置的)

  • jinfo -flag MaxHeapSize 进程编号(最大堆空间)
  • jinfo -flag UseSerialGC 进程编号(串行回收器)
  • jinfo -flag UseParallelGC 进程编号(并行回收器)

注意点

       -Xms  等价于-XX:InitialHeapSize

       -Xmx  等价于-XX:MaxHeapSize

二、JVM配置默认值

查看默认初始值

命令:java -XX:+PrintFlagsInitial -version 

查看修改更新值

命令:java -XX:+PrintFlagsFinal -XX:MetaspaceSize=512m Demo2

Demo2是java类名

=表示没有修改,:=表示修改后的

 三、常用配置清单

  • -Xms  等价于 -XX:InitialHeapSize(堆内存初始大小,默认为物理内存的1/64)
  • -Xmx  等价于 -XX:MaxHeapSize(最大堆内存,默认为物理内存的1/4)
  • -Xss   等价于 -XX:ThreadStackSize (设置单个线程栈大小,默认为512k~1024k)
  • -Xmn  设置年轻代大小,JVM按比例分配
  • -XX:MetaspaceSize  设置元空间大小(元空间受本地内存限制)
  • -XX:+PrintGCDetails GC收集详细日志信息
  • -XX:SurvivorRatio 设置新生代中Eden和S0/S1空间比例。

           默认: -XX:SurvivorRatio=8,Eden:S0:S1 = 8:1:1

           例如: -XX:SurvivorRatio=4,Eden:S0:S1 = 4:1:1

  • -XX:NewRatio 设置年轻代与老年代在堆中的占比。

           默认: -XX:NewRatio=2,新生代:老年代 = 1:2

           例如: -XX:NewRatio=4,新生代:老年代 = 1:4

  • -XX:MaxTenuringThreshold 设置(转向老年代前,年轻代GC次数)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值