zoukankan      html  css  js  c++  java
  • 查看JVM使用的什么垃圾收集器

    一、方法一

    打印虚拟机所有参数

    [root@localhost ~]# java -XX:+PrintCommandLineFlags -version
    -XX:InitialHeapSize=263475648 -XX:MaxHeapSize=4215610368 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC 
    openjdk version "1.8.0_212"
    OpenJDK Runtime Environment (build 1.8.0_212-b04)
    OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
    [root@iZ2ze1224b1em0jij7qlssZ ~]# java -XX:+PrintFlagsFinal -version | grep :
         intx CICompilerCount                          := 2                                   {product}
        uintx InitialHeapSize                          := 264241152                           {product}
        uintx MaxHeapSize                              := 4217372672                          {product}
        uintx MaxNewSize                               := 1405616128                          {product}
        uintx MinHeapDeltaBytes                        := 524288                              {product}
        uintx NewSize                                  := 88080384                            {product}
        uintx OldSize                                  := 176160768                           {product}
         bool PrintFlagsFinal                          := true                                {product}
         bool UseCompressedClassPointers               := true                                {lp64_product}
         bool UseCompressedOops                        := true                                {lp64_product}
         bool UseParallelGC                            := true                                {product}
    openjdk version "1.8.0_212"
    OpenJDK Runtime Environment (build 1.8.0_212-b04)
    OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

    第三列”=”表示第四列是参数的默认值,而”:=” 表明了参数被用户或者JVM赋值了。

    二、方法二

    [root@localhost ~]# java -XX:+PrintCommandLineFlags -version
    -XX:InitialHeapSize=263475648 -XX:MaxHeapSize=4215610368 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC 
    openjdk version "1.8.0_212"
    OpenJDK Runtime Environment (build 1.8.0_212-b04)
    OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

    针对上述的-XX:UseParallelGC,这边我们引用《深入理解Java虚拟机:JVM高级特性与最佳实践》的介绍:

    也就是说,打开此开关,使用的垃圾收集器是:新生代(Parallel Scavenge),老年代(Ps MarkSweep)组合。

    jdk1.7 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代)

    jdk1.8 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代)

    jdk1.9 默认垃圾收集器G1

    三、方法三:

    [root@localhost ~]# jmap -heap      25523 
    Attaching to process ID 25523, please wait...
    Debugger attached successfully.
    Server compiler detected.
    JVM version is 25.212-b04
    
    using thread-local object allocation.
    Parallel GC with 2 thread(s)
    
    Heap Configuration:
       MinHeapFreeRatio         = 0
       MaxHeapFreeRatio         = 100
       MaxHeapSize              = 4217372672 (4022.0MB)
       NewSize                  = 88080384 (84.0MB)
       MaxNewSize               = 1405616128 (1340.5MB)
       OldSize                  = 176160768 (168.0MB)
       NewRatio                 = 2
       SurvivorRatio            = 8
       MetaspaceSize            = 21807104 (20.796875MB)
       CompressedClassSpaceSize = 1073741824 (1024.0MB)
       MaxMetaspaceSize         = 17592186044415 MB
       G1HeapRegionSize         = 0 (0.0MB)
    
    Heap Usage:
    PS Young Generation
    Eden Space:
       capacity = 39321600 (37.5MB)
       used     = 3902632 (3.7218399047851562MB)
       free     = 35418968 (33.778160095214844MB)
       9.924906412760416% used
    From Space:
       capacity = 524288 (0.5MB)
       used     = 98304 (0.09375MB)
       free     = 425984 (0.40625MB)
       18.75% used
    To Space:
       capacity = 524288 (0.5MB)
       used     = 0 (0.0MB)
       free     = 524288 (0.5MB)
       0.0% used
    PS Old Generation
       capacity = 121634816 (116.0MB)
       used     = 101585632 (96.87960815429688MB)
       free     = 20049184 (19.120391845703125MB)
       83.5169035812904% used
    
    11612 interned Strings occupying 947640 bytes.

    Concurrent Mark-Sweep GC:CMS回收器

    Mark Sweep Compact GC:串行GC(Serial GC)

    Parallel GC with 2 thread(s):并行GC(ParNew)

    参考:

    https://www.cnblogs.com/pc-boke/articles/10247068.html

    https://blog.csdn.net/earthhour/article/details/76468084

  • 相关阅读:
    使用poi读写excel文件
    视频云全球创新挑战赛 — 视频目标分割经典算法解析
    阿里云 RTC QoS 弱网对抗之变分辨率编码
    用 WebRTC 打造一个音乐教育 App,要解决哪些音质难题?
    “蚂蚁呀嘿” 刷屏的背后:算法工程师带你理性解构神曲
    白话解读 WebRTC 音频 NetEQ 及优化实践
    未来直播 “神器”,像素级视频分割是如何实现的 | CVPR 冠军技术解读
    「 视频云大赛 — 大咖驾到 」驱动下一代技术浪潮,我们更专注价值落地
    「 视频云大赛 — 大咖驾到 」下一代技术新浪潮,正由视频云驱动
    视频云大赛|视频目标分割,下一个视频算法技术爆发点?
  • 原文地址:https://www.cnblogs.com/sfnz/p/15007721.html
Copyright © 2011-2022 走看看