JVM调优常用命令

java 常用命令

X指令

参数功能
-Xmx255m设置JVM最大可用内存为255m
-Xms255m设置JVM起始内存为255m,此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
-Xmn100m设置年轻代内存大小为100m
-Xss128k设置每个线程的堆栈大小为128k

JVM实现方式相关命令

参数功能
-Xint使用纯解释方式执行
-XComp使用编译方式执行
-Xmix使用混合方式执行

XX指令

参数默认值功能
-XX:MetaspaceSize21MB设置元空间初始大小
-XX:MaxMetaspaceSize无上限设置元空间最大可分配大小
-XX:+UseSerialGC-client时启用,其他情况下,默认不启用使用串行垃圾收集器
-XX:+UseConcMarkSweepGC默认不启用启用CMS低停顿垃圾收集器,减少FGC的暂停时间
-XX:+UseParallelGCjdk7,jdk8默认启用策略为新生代使用并行清除,年老代使用单线程Mark-Sweep-Compact的垃圾收集器
-XX:+UseParallelOldGC默认不启用策略为老年代和新生代都使用并行清除的垃圾收集器
-XX:+UseParNewGC默认关闭启用ParNewGC回收器回收年轻代垃圾,通常配合 -XX:+UseConcMarkSweepGC使用
-XX:+UseG1GC默认关闭,jdk9默认开启启用G1 GC回收垃圾
-XX:+UseTLAB1.4.2以前和使用-client选项时,默认不启用,其余版本默认启用启用线程本地缓存区
-XX:+UseCompressedClassPointer默认开启ClassPointer默认为8字节,开启指针压缩后变为4字节
-XX:+UseCompressedOops默认开启Oops默认为8字节,开启开启对象指针压缩后变为4字节
-XX:CMSFullGCsBeforeCompaction0指的CMS是经过多少次FGC才进行压缩
-XX:CMSInitatingOccupancyFraction92%当Old的内存空间使用了多少后进行Full GC
-XX:+DoEscapeAnalysis默认开启开启逃逸分析
-XX:+EliminateAllocations默认开启启用标量替换
-XX:+UseGCOverheadLimit默认启用限制GC的运行时间。如果GC耗时过长,就抛OOM
-XX:MaxTenuringThreshold=一般为15,当GC为CMS时为6设置对象在新生代中最大的存活次数,最大值15,并行回收机制默认为15,CMS默认为6
-XX:NewRatio=2Sparc -client: 8, x86 -server: 8, x86 -client: 12, -client: 4 (1.3),8 (1.3.1+), x86: 12, 其他默认 2新生代和年老代的堆内存占用比例, 例如2表示新生代占年老代的1/2,占整个堆内存的1/3
-XX:PreBlockSpin=10-XX:+UseSpinning 必须先启用,对于java6来说已经默认启用了,这里默认自旋10次控制多线程自旋锁优化的自旋次数
-XX:SurvivorRatio=8Solaris amd64: 6, Sparc in 1.3.1: 25, Solaris platforms 5.0以前: 32, 其他默认 8Eden与Survivor的占用比例。例如8表示,一个survivor区占用 1/8 的Eden内存,即1/10的新生代内存,为什么不是1/9?因为我们的新生代有2个survivor,即S0和S1。所以survivor总共是占用新生代内存的 2/10,Eden与新生代的占比则为 8/10
-XX:TargetSurvivorRatio=5050实际使用的survivor空间大小占比。默认是50%,最高90%
-XX:ThreadStackSize=512Sparc: 512, Solaris x86: 320 (5.0以前 256), Sparc 64 bit: 1024, Linux amd64: 1024 (5.0 以前 0), 其他默认 512.线程堆栈大小
-XX:+ScavengeBeforeFullGC默认启用在Full GC前触发一次Minor GC
-XX:+UseSpinningjava1.4.2和1.5需要手动启用, java6默认已启用启用多线程自旋锁优化
-XX:+UseBiasedLockingJDK 5 update 6后引入,但需要手动启用, JDK6默认启用启用偏向锁
-XX:CompileThreshold=100001000通过JIT编译器,将方法编译成机器码的触发阀值,可以理解为调用方法的次数,例如调1000次,将方法编译为机器码
-XX:-RestritContendedJDK8提供,默认禁用JVM 启用@Contended注解
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值