在IDEA中查看GC日志


  虛擬機提供了 -XX: +PrintGCDetails這個收集器日志參數,告訴虛擬機在發生垃圾收集行為時打印內存回收日志,並在進程退出的時候輸出當前的內存各區域分配情況。

故根據這個情況,在IDEA中查看GC日志的步驟:

1.打開idea中的run選項卡中的Edit Configurations。之后,便是在剛剛打開的Run/Debug Configurations中點擊左上角的加號,然后選"Application"

2.在左邊詳細信息中,將Main class設置為想要查看GC日志的類

3.在下面的VM options中輸入-XX:+PrintGCDetails,最后點擊OK保存設置即可。

例子:

public class ReferenceCountingGC {
    public Object instance = null;

    private static final int _1MB = 1024 * 1024;

    private byte[] bigSize = new byte[2 * _1MB];

    public static void main(String[] args) {
        ReferenceCountingGC objA = new ReferenceCountingGC();
        ReferenceCountingGC objB = new ReferenceCountingGC();
        objA.instance = objB;
        objB.instance = objA;

        System.gc();
    }
}

輸出:

[GC (System.gc()) [PSYoungGen: 6763K->4872K(38400K)] 6763K->4880K(125952K), 0.0293377 secs] [Times: user=0.00 sys=0.00, real=0.03 secs] 
[Full GC (System.gc()) [PSYoungGen: 4872K->0K(38400K)] [ParOldGen: 8K->4721K(87552K)] 4880K->4721K(125952K), [Metaspace: 3435K->3435K(1056768K)], 0.0040781 secs] [Times: user=0.00 sys=0.01, real=0.00 secs] 
Heap
 PSYoungGen      total 38400K, used 998K [0x00000000d5b00000, 0x00000000d8580000, 0x0000000100000000)
  eden space 33280K, 3% used [0x00000000d5b00000,0x00000000d5bf9b38,0x00000000d7b80000)
  from space 5120K, 0% used [0x00000000d7b80000,0x00000000d7b80000,0x00000000d8080000)
  to   space 5120K, 0% used [0x00000000d8080000,0x00000000d8080000,0x00000000d8580000)
 ParOldGen       total 87552K, used 4721K [0x0000000081000000, 0x0000000086580000, 0x00000000d5b00000)
  object space 87552K, 5% used [0x0000000081000000,0x000000008149c710,0x0000000086580000)
 Metaspace       used 3447K, capacity 4496K, committed 4864K, reserved 1056768K
  class space    used 376K, capacity 388K, committed 512K, reserved 1048576K

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM