• java 15: 查看jdk默认的gc和正在使用的gc


    一,查看jdk默认使用的gc

    [lhdop@blog ~]$ java -XX:+PrintCommandLineFlags -version
    -XX:ConcGCThreads=1 -XX:G1ConcRefinementThreads=4 -XX:GCDrainStackTargetSize=64 -XX:InitialHeapSize=251580608 -XX:MarkStackSize=4194304 -XX:MaxHeapSize=4025289728 -XX:MinHeapSize=6815736 -XX:+PrintCommandLineFlags -XX:ReservedCodeCacheSize=251658240 -XX:+SegmentedCodeCache -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseG1GC
    java version "15" 2020-09-15
    Java(TM) SE Runtime Environment (build 15+36-1562)
    Java HotSpot(TM) 64-Bit Server VM (build 15+36-1562, mixed mode, sharing)
    可以看到默认的参数使用了 G1GC
     

    说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

             对应的源码可以访问这里获取: https://github.com/liuhongdi/
             或: https://gitee.com/liuhongdi

    说明:作者:刘宏缔 邮箱: 371125307@qq.com

     

    二,查看当前jdk支持的有哪些gc

    [lhdop@blog tools]$ java -XX:+PrintFlagsFinal -version | grep 'bool Use' | grep 'GC ' | grep -v java
    java version "15" 2020-09-15
    Java(TM) SE Runtime Environment (build 15+36-1562)
    Java HotSpot(TM) 64-Bit Server VM (build 15+36-1562, mixed mode, sharing)
         bool UseAdaptiveSizePolicyWithSystemGC        = false                                     {product} {default}
         bool UseG1GC                                  = true                                      {product} {ergonomic}
         bool UseMaximumCompactionOnSystemGC           = true                                      {product} {default}
         bool UseParallelGC                            = false                                     {product} {default}
         bool UseSerialGC                              = false                                     {product} {default}
         bool UseShenandoahGC                          = false                                     {product} {default}
         bool UseZGC                                   = false                                     {product} {default}
    说明:可以看到jdk15已支持zgc,但并未将它设置为默认
     

    三,查看指定进程当前正在使用的gc

    [lhdop@blog ~]$ jhsdb jmap --heap --pid 22397
    Attaching to process ID 22397, please wait...
    Debugger attached successfully.
    Server compiler detected.
    JVM version is 15+36-1562
     
    using thread-local object allocation.
    Garbage-First (G1) GC with 4 thread(s)
     
    Heap Configuration:
       MinHeapFreeRatio         = 40
       MaxHeapFreeRatio         = 70
       MaxHeapSize              = 4026531840 (3840.0MB)
       NewSize                  = 1363144 (1.2999954223632812MB)
       MaxNewSize               = 2415919104 (2304.0MB)
       OldSize                  = 5452592 (5.1999969482421875MB)
       NewRatio                 = 2
       SurvivorRatio            = 8
       MetaspaceSize            = 21807104 (20.796875MB)
       CompressedClassSpaceSize = 1073741824 (1024.0MB)
       MaxMetaspaceSize         = 17592186044415 MB
       G1HeapRegionSize         = 2097152 (2.0MB)
     
    Heap Usage:
    G1 Heap:
       regions  = 1920
       capacity = 4026531840 (3840.0MB)
       used     = 99822592 (95.1982421875MB)
       free     = 3926709248 (3744.8017578125MB)
       2.479120890299479% used
    G1 Young Generation:
    Eden Space:
       regions  = 29
       capacity = 69206016 (66.0MB)
       used     = 60817408 (58.0MB)
       free     = 8388608 (8.0MB)
       87.87878787878788% used
    Survivor Space:
       regions  = 3
       capacity = 6291456 (6.0MB)
       used     = 6291456 (6.0MB)
       free     = 0 (0.0MB)
       100.0% used
    G1 Old Generation:
       regions  = 18
       capacity = 58720256 (56.0MB)
       used     = 32713728 (31.1982421875MB)
       free     = 26006528 (24.8017578125MB)
       55.711146763392854% used

    >>Garbage-First (G1) GC with 4 thread(s)

     可以看到使用的是G1这个gc
     

    四,查看java的版本:

    [lhdop@blog tools]$ java --version
    java 15 2020-09-15
    Java(TM) SE Runtime Environment (build 15+36-1562)
    Java HotSpot(TM) 64-Bit Server VM (build 15+36-1562, mixed mode, sharing) 
  • 相关阅读:
    MYSQL长连接的一个小问题
    wpf关于PasswordBox的绑定Password的问题(MVVM框架)
    关于C# DataGridView 全选与取消的小问题
    谈谈在京东手机APP的产品推荐
    赵海平给中国开发者的建议
    python_闭包_匿名函数
    mysql远程连接10038错误
    计算机系统 -- 计算机
    Java——类和对象
    ORACLE数据库定时任务—DBMS_JOB
  • 原文地址:https://www.cnblogs.com/architectforest/p/16025805.html
Copyright © 2020-2023  润新知