運行的時候加上jvm 參數: -verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails
這裏的-verbose:gc 與 -XX:+PrintGCDetails 的區別參考:參考linkjava
能夠加上 -Xloggc:C:/temp/gc.log 將打印的日誌打到文件中去segmentfault
Java HotSpot(TM) 64-Bit Server VM (25.74-b02) for windows-amd64 JRE (1.8.0_74-b02), built on Jan 29 2016 17:42:36 by "java_re" with MS VC++ 10.0 (VS2010) Memory: 4k page, physical 8284752k(1505712k free), swap 16567644k(8244240k free) CommandLine flags: -XX:InitialHeapSize=20971520 -XX:MaxHeapSize=20971520 -XX:MaxNewSize=10485760 -XX:NewSize=10485760 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC 0.278: [GC (System.gc()) [PSYoungGen: 5768K->664K(9216K)] 5768K->672K(19456K), 0.0480998 secs] [Times: user=0.08 sys=0.00, real=0.05 secs] 0.326: [Full GC (System.gc()) [PSYoungGen: 664K->0K(9216K)] [ParOldGen: 8K->599K(10240K)] 672K->599K(19456K), [Metaspace: 2997K->2997K(1056768K)], 0.1251666 secs] [Times: user=0.14 sys=0.00, real=0.13 secs] Heap PSYoungGen total 9216K, used 164K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000) eden space 8192K, 2% used [0x00000000ff600000,0x00000000ff629100,0x00000000ffe00000) from space 1024K, 0% used [0x00000000ffe00000,0x00000000ffe00000,0x00000000fff00000) to space 1024K, 0% used [0x00000000fff00000,0x00000000fff00000,0x0000000100000000) ParOldGen total 10240K, used 599K [0x00000000fec00000, 0x00000000ff600000, 0x00000000ff600000) object space 10240K, 5% used [0x00000000fec00000,0x00000000fec95dd8,0x00000000ff600000) Metaspace used 3020K, capacity 4496K, committed 4864K, reserved 1056768K class space used 333K, capacity 388K, committed 512K, reserved 1048576K
我這個是jdk 1.8 中jvm 打印出來的日誌,windows
最前面的的數字表明的是時間:從虛擬機啓動以來的秒數。jvm
GC日誌開頭 的 GC 和 Full GC 說明了本次垃圾收集的停頓類型,而不是用來區分新生代GC仍是老年代GC的。若是有Full說明這次GC是發生了STW(stop the world) 若是是調用System.gc()方法觸發的收集,那麼將顯示 Full GC(System)ui
能夠看出 新生代使用的垃圾回收器是:Parallel Scavenge
根據 名稱 區別 使用的何種垃圾回收器:spa
而後 老年代的垃圾回收器使用的是 ParOldGen 表明Parallel Old 收集器日誌
由於我使用的jdk 1.8 沒有永久代這一說了顯示的是 Metaspace 區域code