JVM相关参数

1. 堆内存相关参数

  1. 堆内存最小值–Xms

  2. 堆内存最大值–Xmx
    //为 JVM 分配最小 2 GB 和最大 5 GB 的堆内存大小
    -Xms2G -Xmx5G
  3. 新生代内存-XX:NewSize-XX:MaxNewSize

    -XX:NewSize=256m
    -XX:MaxNewSize=1024m
    //NewSize 与 MaxNewSize 设为一致
    -Xmn256m
  4. 设置老年代与新生代内存的比值

    -XX:NewRatio=1
  5. 方法区的大小

    -XX:MetaspaceSize //MetaspaceSize 的默认大小取决于平台
    -XX:MaxMetaspaceSize=N #设置 Metaspace 的最大大小

    MetaspaceSize 表示 Metaspace 使用过程中触发 Full GC 的阈值,默认的元空间的最大值是无限

 注意: Full GC 的成本远高于 Minor GC,因此尽可能将对象分配在新生代

2. GC日志相关参数

  1. 打印对象分布

    -XX:+PrintTenuringDistribution
  2. # 强引用/弱引用/软引用/虚引用/finalize 相关的方法

    -XX:+PrintReferenceGC
  3. # 设置为 1 表示在 JVM 启动时立即输出一次安全点统计信息

    -XX:PrintSafepointStatisticsCount=1
  4. # 日志文件最多分割几个文件,超过之后从头文件开始写

    -XX:NumberOfGCLogFiles=14

3. 其他参数

1. 垃圾回收占用的时间比例阈值,避免程序在运行时花费过多时间在垃圾回收

-XX:+UseGCOverheadLimit

2.  重复 String 值减少为单个全局 char [] 数组来优化堆内存

-XX:+UseStringDeduplication

3.  对 String 对象使用 byte [] 类型

-XX:+UseCompressedStrings

4. 设置堆空间最小空闲比例

//设置堆空间最小空闲比例,当堆空间的空闲内存小于这个数值时,JVM 便会扩展堆空间。
-XX:MinHeapFreeRatio 
//设置堆空间最大空闲比例,当堆空间的空闲内存大于这个数值时,JVM 便会压缩堆空间。
-XX:MaxHeapFreeRatio 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值