Jvm调优实战

文章目录

JVM 的参数类型

标配参数

  • -version
  • -help

X 参数(了解)

  • -Xint:解释执行
  • -Xcomp:第一次使用就编译成本地代码
  • -Xmixed:混合模式

XX 参数

  • Boolean 类型:-XX:+或者- 属性值(+表示开启,-表示关闭)
    • -XX:+PrintGCDetails:打印GC收集细节
    • -XX:-PrintGCDetails:不打印
    • -XX:+UseSerialGC:使用串行收集器
    • -XX:-UseSerialGC:不使用
  • KV 设置类型:-XX:key=value
    • XX:MetaspaceSize=128m 元空间大小
    • -XX:MaxTenuringThreshold=15 晋升老年代的年龄阈值

jinfo 命令

  • 作用:查看当前运行程序的配置

  • 查看某个参数的值: jinfo -flag [参数] [进程号]

    • jinfo -flag PrintGCDetails [进程号] :查看是否配置了 PrintGCDetails (是否打印GC收集细节)
    • 结果: -XX:-PrintGCDetails
    • 可以看出默认是不打印 GC 收集细节
  • 查看所有参数:jinfo -flags [进程号]

IDEA如何配置JVM参数

Jvm调优实战

查看 JVM 默认值

  • 查看初始默认值:Java -XX:+PrintFlagsInitial

    [Global flags]
    ccstrlist AOTLibrary                               =                                           {product} {default}
          int ActiveProcessorCount                     = -1                                        {product} {default}
        uintx AdaptiveSizeDecrementScaleFactor         = 4                                         {product} {default}
        uintx AdaptiveSizeMajorGCDecayTimeScale        = 10                                        {product} {default}
        uintx AdaptiveSizePolicyCollectionCostMargin   = 50                                        {product} {default}
        uintx AdaptiveSizePolicyInitializingSteps      = 20                                        {product} {default}
    
  • 查看修改更新:Java -XX:+PrintFlagsFinal

  • = 与 := 的区别是,一个是默认,一个是人为改变或者 jvm 加载时改变的参数

  • Java -XX:+PrintFlagsFinal -XX:MetaspaceSize=512m helloworld:运行helloworld程序,同时修改元空间大小,同时查看修改更新值

  • 打印命令行参数(可以看默认垃圾回收器):Java -XX:+PrintCommandLineFlags

    -XX:InitialHeapSize=128789376 -XX:MaxHeapSize=2060630016 -XX:+PrintCommandLineFlags 
    -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC 
    

JVM 常用的基本配置参数有哪些?

  • -Xms
    • 初始堆内存,默认本机内存的1/64
    • 等价于 -XX:InitialHeapSize
    • 如 -Xms1024m
  • -Xmx
    • 最大堆内存,默认1/4
    • 等价于 -XX:MaxHeapSize

未完待续

上一篇:1795 每个产品在不同商店的价格


下一篇:Datawhale开源学习SQL: 1.基础查询和排序