2015-12-13 44 views
1

我用macbook air测试java gc,得到了这个gc日志,但是我不知道它是完整的gc还是第2行的gc?从这个GC日志完整的GC或年轻的GC?

[GC[DefNew: 7139K->146K(9216K), 0.0109670 secs] 7711K->6862K(19456K), 0.0109990 secs] [Times: user=0.01 sys=0.00, real=0.01 secs] 
[GC[DefNew: 6377K->6377K(9216K), 0.0000150 secs][Tenured: 6715K->8763K(10240K), 0.0094290 secs] 13093K->12988K(19456K), [Perm : 3441K->3441K(21248K)], 0.0094930 secs] [Times: user=0.01 sys=0.00, real=0.01 secs] 

VM选项低于:

-Xms20M -Xmx20M -Xmn10M -XX:+UseSerialGC -XX:+PrintGCDetails 

和我的测试代码:提前

byte[] b1 = new byte[2 * 1024 * 1024]; 
    byte[] b2 = new byte[2 * 1024 * 1024]; 
    byte[] b3 = new byte[2 * 1024 * 1024]; 

    Thread.sleep(3000); 
    System.out.println("after sleep 3 sec"); 

    byte[] b4 = new byte[2 * 1024 * 1024]; 
    System.out.println("after b4"); 

    byte[] b5 = new byte[2 * 1024 * 1024]; 
    byte[] b6 = new byte[2 * 1024 * 1024]; 
    System.out.println("after b6"); 
    /** 
    * 
    */ 
    byte[] b7 = new byte[2 * 1024 * 1024]; 

    Thread.sleep(3000); 
    System.out.println("end"); 

感谢。

编辑

我从中得到link

+0

其中java版本? – the8472

+0

1.7.0_60 for mac。 – znlyj

+0

add'-XX:+ PrintGCCause' – the8472

回答

1

DefNew

一些信息,这就是串行新根收集器。因此它是一个小型GC。

您可能想要使用GCViewer来可视化GC日志。

+0

但是'Tenured'和'Perm'集合发生在第二行。 – znlyj