JVM原理之调优参数

9 JVM调优参数

9.1 参数类型

  • 标准参数

    • java -version
    • java -help
    • java -server
      在这里插入图片描述
  • -X参数

    非标准参数,也就是在JDK各个版本中可能会有变动;

    • -Xint 解释执行
    • -Xcomp 第一次使用就编译成本地代码
    • -Xmixed 混合模式,JVM自己来决定
      在这里插入图片描述
  • -XX参数

    • Boolean类型

      格式:-XX:[+-]<name> + 或 - 表示启用或者禁用name属性

      比如:-XX:+UseConcMarkSweepGC 表示启用CMS类型的垃圾回收器

    • 非Boolean类型

      格式:-XX<name>=<value>表示name属性的值是value

      比如:-XX:MaxGCPauseMillis=500 设置GC最大停顿时间

9.2 其他参数

  • -Xms1000m 等价于 -XX:InitialHeapSize=1000m ,设置初始堆内存大小
  • -Xmx1000m 等价于 -XX:MaxHeapSize=1000m ,设置 最大堆内存大小
  • -Xss128k 等价于-XX:ThreadStackSize=128k

9.3 常见命令及参数

关于JVM命令以及调优工具官方说明地址:https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/

9.3.1 jps

查看java 进程
在这里插入图片描述

9.3.2 jinfo

实时查看和调整JVM配置参数

jinfo -flag name pid 查看某个java进程的name属性的值

如:查看最大堆内存的值 jinfo -flag MaxHeapSize pid

​ 查看G1 GC的配置 jinfo -flag UseG1GC pid
在这里插入图片描述

9.3.4 常用参数

查看默认参数有哪些?

  • -XX:+PrintFlagsInitial 查看java 环境初始默认值; 在这里插入图片描述
  • java -XX:+PrintCommandLineFlags -version 打印出用户手动选项的 XX 选项
    在这里插入图片描述
参数说明含义
-XX:ClCompilerCount大于1,会影响系统稳定性最大并行编译数
-XX:InitialHeapSize简写-Xms100M初始化堆大小
-XX:MaxHeapSize=1简写-Xmx100M最大堆大小
-XX:NewSize=20M设置年轻代的大小
-XX:MaxNewSize=50M年轻代最大大小
-XX:OldSize=50M设置老年代大小
-XX:MetaspaceSize=50M设置方法区大小
-XX:MaxMetaspaceSize=50M方法区最大大小
-XX:+UseParallelGC新生代,吞吐量优先使用UseParallelGC
-XX:+UseParallelOldGC老年代,吞吐量优先使用UseParallelOldGC
-XX:+UseConcMarkSweepGC老年代,停顿时间优先使用CMS
-XX:+UseG1GC新生代,老年代,停顿时间优先使用G1GC
-XX:NewRatio-XX:Ratio=4,新生代:老年代=1:4新老生代的比值
-XX:SurvivorRatio值为8,(s0+s1):Eden=1:8两个S区和Eden区的比值
-XX:+HeapDumpOnOutOfMemoryError堆发生溢出,自动生成dump文件启动堆内存溢出打印
-XX:HeapDumpPath=heap.hprof当前目录生成一个heap.hprof文件指定堆内存溢出打印目录
XX:+PrintGCDetails -XX:+PrintGCTimeStamps打印出GC日志
-Xss128k3000-5000最佳设置每个线程的堆栈大小
-XX:MaxTenuringThreshold=6默认值为 15新生代到老年代的临界值
-XX:InitiatingHeapOccupancyPercent启动并发GC周期时堆内存使用占比
-XX:G1HeapWastePercent默认是10%,如果并发标记可回收的空间小于10%,则不会触发MixedGC允许的浪费堆空间的占比
-XX:MaxGCPauseMillis=200ms暂停时间不能太小,太小的话就会导致出现G1跟不上垃圾产生的速度。最终退化成Full GCG1最大停顿时间
-XX:ConcGCThreads=n并发垃圾收集器使用的线程数量
-XX:G1MixedGCLiveThresholdPercent=65默认占用率为 65%混合垃圾回收周期中要包括的旧区域设置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值