JVM系列:查看JVM使用的什么垃圾收集器

一、方法一

打印虚拟机所有参数

[root@localhost ~]# java -XX:+PrintFlagsFinal -version | grep :
uintx InitialHeapSize                          := 258689024       {product}           
uintx MaxHeapSize                              := 4139778048      {product}           
bool PrintFlagsFinal                          := true            {product}           
bool UseCompressedOops                        := true            {lp64_product}      
bool UseParallelGC                            := true            {product}    

二、方法二

[root@localhost ~]# java -XX:+PrintCommandLineFlags -version
-XX:InitialHeapSize=258689024 -XX:MaxHeapSize=4139024384 -XX:+PrintCommandLineFlags -XX:+UseCompressedOops -XX:+UseParallelGC

  

 

参数解读:

 

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

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

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

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

jdk1.9 默认垃圾收集器G1

 

三、方法三:

[root@iZ2zeapchxZ tomcat7]# jmap -heap 13297
Attaching to process ID 13297, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.77-b03
 
using parallel threads in the new generation.
using thread-local object allocation.
Concurrent Mark-Sweep GC
 
Heap Configuration:
   MinHeapFreeRatio         = 40
   MaxHeapFreeRatio         = 70
   MaxHeapSize              = 1073741824 (1024.0MB)
   NewSize                  = 87228416 (83.1875MB)
   MaxNewSize               = 87228416 (83.1875MB)
   OldSize                  = 986513408 (940.8125MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 21807104 (20.796875MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   MaxMetaspaceSize         = 17592186044415 MB
   G1HeapRegionSize         = 0 (0.0MB)
 
Heap Usage:
New Generation (Eden + 1 Survivor Space):
   capacity = 78512128 (74.875MB)
   used     = 17016048 (16.227767944335938MB)
   free     = 61496080 (58.64723205566406MB)
   21.673145835507096% used
Eden Space:
   capacity = 69795840 (66.5625MB)
   used     = 10923608 (10.417564392089844MB)
   free     = 58872232 (56.144935607910156MB)
   15.650800964642018% used
From Space:
   capacity = 8716288 (8.3125MB)
   used     = 6092440 (5.810203552246094MB)
   free     = 2623848 (2.5022964477539062MB)
   69.89718559093045% used
To Space:
   capacity = 8716288 (8.3125MB)
   used     = 0 (0.0MB)
   free     = 8716288 (8.3125MB)
   0.0% used
concurrent mark-sweep generation:
   capacity = 986513408 (940.8125MB)
   used     = 41311272 (39.397499084472656MB)
   free     = 945202136 (901.4150009155273MB)
   4.187603702594583% used
 
19916 interned Strings occupying 2422360 bytes.

Concurrent Mark-Sweep GC:CMS回收器

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

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

如何修改GC回收器:设置 JAVA_OPTS

参考:https://www.cnblogs.com/chengpeng15/p/9830989.html

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

posted on 2019-01-09 21:49  腾飞的鹰  阅读(7016)  评论(0编辑  收藏  举报

导航