• java命令 jmap 堆参数分析


    jmap -heap pid 展示pid的整体堆信息

    bash-4.4# jmap  -heap 10
    Attaching to process ID 10, please wait...
    Debugger attached successfully.
    Server compiler detected.
    JVM version is 25.172-b11
    
    using thread-local object allocation.
    Garbage-First (G1) GC with 8 thread(s)
    
    Heap Configuration:
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    MinHeapFreeRatio         = 40
    
    • 1

    空闲堆空间的最小百分比,计算公式为:HeapFreeRatio =(CurrentFreeHeapSize/CurrentTotalHeapSize) * 100,值的区间为0到100,默认值为 40。如果HeapFreeRatio < MinHeapFreeRatio,则需要进行堆扩容,扩容的时机应该在每次垃圾回收之后。

    MaxHeapFreeRatio         = 70
    
    • 1

    空闲堆空间的最大百分比,计算公式为:HeapFreeRatio =(CurrentFreeHeapSize/CurrentTotalHeapSize) * 100,值的区间为0到100,默认值为 70。如果HeapFreeRatio > MaxHeapFreeRatio,则需要进行堆缩容,缩容的时机应该在每次垃圾回收之后。

    MaxHeapSize              = 4164943872 (3972.0MB)
    
    • 1

    JVM 堆空间允许的最大值

    NewSize                  = 1363144 (1.2999954223632812MB)
    
    • 1

    JVM 新生代堆空间的默认值。

    MaxNewSize               = 2498756608 (2383.0MB)
    
    • 1

    JVM 新生代堆空间允许的最大值

    OldSize                  = 5452592 (5.1999969482421875MB)
    
    • 1

    JVM 老年代堆空间的默认值。

    NewRatio                 = 2
    
    • 1

    新生代(2个Survivor区和Eden区 )与老年代(不包括永久区)的堆空间比值,表示新生代:老年代=1:2。

    SurvivorRatio            = 8
    
    • 1

    两个Survivor区和Eden区的堆空间比值为 8,表示 S0 : S1 :Eden = 1:1:8。

    MetaspaceSize            = 536870912 (512.0MB)
    
    • 1

    JVM 元空间的初始值。

    CompressedClassSpaceSize = 528482304 (504.0MB)
    MaxMetaspaceSize         = 536870912 (512.0MB)
    
    • 1
    • 2

    JVM 元空间允许的最大值。

    G1HeapRegionSize         = 1048576 (1.0MB)
    
    • 1

    在使用 G1 垃圾回收算法时,JVM 会将 Heap 空间分隔为若干个 Region,该参数用来指定每个 Region 空间的大小。

    Heap Usage:
    G1 Heap:
       regions  = 3972
       capacity = 4164943872 (3972.0MB)
       used     = 444930512 (424.3188018798828MB)
       free     = 3720013360 (3547.681198120117MB)
       10.68274929204136% used
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    G1 的 Heap 使用情况,该 Heap 包含 4096 个 Region,结合上文每个 RegionSize=1M,因此 Capacity = Regions * RegionSize = 4096 * 1M = 4096M,使用空间为 5M,空闲空间为 4091M,使用率为 0.12%。

    G1 Young Generation:
    Eden Space:
       regions  = 72
       capacity = 848297984 (809.0MB)
       used     = 75497472 (72.0MB)
       free     = 772800512 (737.0MB)
       8.899876390605685% used
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    G1 的 Eden 区的使用情况,总共使用了 6 个 Region,结合上文每个 RegionSize=1M,因此 Used = Regions * RegionSize = 6 * 1M = 6M,Capacity=26M表明当前 Eden 空间分配了 26 个 Region,使用率为 23%。

    Survivor Space:
       regions  = 5
       capacity = 5242880 (5.0MB)
       used     = 5242880 (5.0MB)
       free     = 0 (0.0MB)
       100.0% used
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    G1 的 Survivor 区的使用情况,同 Eden区。

    G1 Old Generation:
       regions  = 357
       capacity = 501219328 (478.0MB)
       used     = 364190160 (347.3188018798828MB)
       free     = 137029168 (130.6811981201172MB)
       72.6608372133646% used
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    G1 的 老年代的使用情况,同 Eden区。

    40396 interned Strings occupying 4633632 bytes.

    
    
    • 1
  • 相关阅读:
    zookeeper的watch机制详细讲解
    若依单文件上传及跳转页面(将base64Url转换为blob格式)
    vue3-vueRouter v4.x
    QTcpServer 封装
    docker安装以及部署
    O2OA(翱途)开发平台 V8.2已发布,更安全、更高效、更开放
    易基因 | 简化基因组DNA甲基化测序(RRBS)实验怎么做?
    【附源码】计算机毕业设计JAVA行星中小学教辅平台
    【备考网络工程师】如何备考2023年网络工程师之错题集篇(2)
    原码 反码 补码
  • 原文地址:https://blog.csdn.net/cljdsc/article/details/134494590