JVM-调优-常用参数

本文详细介绍了JVM的常用调优参数,包括防止内存抖动的策略,GC(Garbage Collection)参数如年轻代、老年代的设置,以及Parallel、CMS和G1收集器的特定参数。重点关注了如-Xms、-Xmx、-XX:MaxTenuringThreshold等参数的作用,并强调了防止内存抖动的重要性,提供了调整GC以优化性能的建议。

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

JVM 常用参数:

  • -XX:RestrictContended 开启独占缓存行
  • -Xmixed 默认为混合模式。开始是解释执行,过程中JIT对热点代码进行检测和编译
  • -Xint 纯解释执行模式(int为intepreter缩写),启动速度快,执行稍慢
  • -Xcomp 纯编译模式(comp为compiler缩写),启动速度慢,执行很快
  • -XX:CompileThreshold=10000 检测热点代码
  • -XX:+PrintCommandLineFlags -version 命令行查看虚拟机配置
  • -XX:+UseCompressedClassPointers 开启对象头ClassPointer指针压缩
  • -XX:+UseCompressedOops 开启成员变量中的普通对象指针压缩
  • -Xms 设置起始 java heap 的大小
  • -Xmx 设置最大 java heap 的大小
  • -Xmn 设置新生代的大小
  • -XX:MaxTenuringThreshold 配置对象进入老年代的年龄阈值  最大值15,默认15.CMS是6
  • -XX:-DoEscapeAnalysis 逃逸分析
  • -XX:-EliminateAllocations 标量替换
  • -XX:-UseTLA
JVM参数是为了提高Java应用程序的性能和稳定性。下面是一些常见的JVM参数的思路和建议: 1. 堆内存设置: - -Xms: 初始堆大小,建议与-Xmx相同,避免堆大小的动态整。 - -Xmx: 最大堆大小,根据应用程序的需求进行设置,避免频繁的垃圾回收。 2. 垃圾回收器选择: - -XX:+UseParallelGC: 使用并行垃圾回收器,适合多核CPU和高吞吐量应用。 - -XX:+UseConcMarkSweepGC: 使用CMS垃圾回收器,适合响应时间先的应用。 - -XX:+UseG1GC: 使用G1垃圾回收器,适合大内存应用和低延迟要求。 3. 垃圾回收参数- -XX:NewRatio: 设置新生代和老年代的比例,默认为2,可以根据应用程序的对象生命周期进行整。 - -XX:SurvivorRatio: 设置Eden区和Survivor区的比例,默认为8,可以根据对象的存活率进行整。 - -XX:MaxTenuringThreshold: 设置对象进入老年代的年龄阈值,默认为15,可以根据对象的存活率和内存情况进行整。 4. 线程相关参数- -Xss: 设置线程栈的大小,默认为1M,可以根据应用程序的线程数量进行整。 - -XX:ParallelGCThreads: 并行垃圾回收的线程数量,默认为CPU核心数的1/8,可以根据CPU和内存情况进行整。 5. 其他常用参数- -XX:+UseCompressedOops: 使用压缩指针,可以减少对象引用的内存消耗。 - -XX:+DisableExplicitGC: 禁用显示用System.gc()方法,避免不必要的垃圾回收。 以上是一些常见的JVM参数策略,具体的效果和最佳参数设置还需要根据应用程序的实际情况进行测试和整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值