JVM gc只新生代串行GC

1.代码一:

 

 

[java]  view plain copy print ?
 
  1. public class JVMTest {  
  2.     public static void main(String args[]) throws InterruptedException {  
  3.         byte [] bytes1 = new byte[1024*1024*2];  
  4.         byte [] bytes2 = new byte[1024*1024*2];  
  5.         byte [] bytes3 = new byte[1024*1024*4];  
  6.         Thread.sleep(2000);  
  7.         byte [] bytes4 = new byte[1024*1024*4];  
  8.         Thread.sleep(2000);  
  9.     }  
  10. }  


执行:java -Xms20M -Xmx20M -Xmn10M -XX:+UseSerialGC -XX:+PrintHeapAtGC -Xloggc:gc.log JVMTest

 

gc两次:

 

[java]  view plain copy print ?
 
  1. {Heap before GC invocations=0 (full 0):  
  2.  def new generation   total 9216K, used 5287K [7f9a00000, 7fa400000, 7fa400000)  
  3.   eden space 8192K,  64% used [7f9a00000, 7f9f29c78, 7fa200000)  
  4.   from space 1024K,   0% used [7fa200000, 7fa200000, 7fa300000)  
  5.   to   space 1024K,   0% used [7fa300000, 7fa300000, 7fa400000)  
  6.  tenured generation   total 10240K, used 0K [7fa400000, 7fae00000, 7fae00000)  
  7.    the space 10240K,   0% used [7fa400000, 7fa400000, 7fa400200, 7fae00000)  
  8.  compacting perm gen  total 21248K, used 4813K [7fae00000, 7fc2c0000, 800000000)  
  9.    the space 21248K,  22% used [7fae00000, 7fb2b3628, 7fb2b3800, 7fc2c0000)  
  10. No shared spaces configured.  
  11. 0.904: [GC 5287K->4447K(19456K), 0.0315833 secs]  
  12. Heap after GC invocations=1 (full 0):  
  13.  def new generation   total 9216K, used 351K [7f9a00000, 7fa400000, 7fa400000)  
  14.   eden space 8192K,   0% used [7f9a00000, 7f9a00000, 7fa200000)  
  15.   from space 1024K,  34% used [7fa300000, 7fa357ed8, 7fa400000)  
  16.   to   space 1024K,   0% used [7fa200000, 7fa200000, 7fa300000)  
  17.  tenured generation   total 10240K, used 4096K [7fa400000, 7fae00000, 7fae00000)  
  18.    the space 10240K,  40% used [7fa400000, 7fa800020, 7fa800200, 7fae00000)  
  19.  compacting perm gen  total 21248K, used 4813K [7fae00000, 7fc2c0000, 800000000)  
  20.    the space 21248K,  22% used [7fae00000, 7fb2b3628, 7fb2b3800, 7fc2c0000)  
  21. No shared spaces configured.  
  22. }  
  23. {Heap before GC invocations=1 (full 0):  
  24.  def new generation   total 9216K, used 4711K [7f9a00000, 7fa400000, 7fa400000)  
  25.   eden space 8192K,  53% used [7f9a00000, 7f9e41eb0, 7fa200000)  
  26.   from space 1024K,  34% used [7fa300000, 7fa357ed8, 7fa400000)  
  27.   to   space 1024K,   0% used [7fa200000, 7fa200000, 7fa300000)  
  28.  tenured generation   total 10240K, used 4096K [7fa400000, 7fae00000, 7fae00000)  
  29.    the space 10240K,  40% used [7fa400000, 7fa800020, 7fa800200, 7fae00000)  
  30.  compacting perm gen  total 21248K, used 4817K [7fae00000, 7fc2c0000, 800000000)  
  31.    the space 21248K,  22% used [7fae00000, 7fb2b4498, 7fb2b4600, 7fc2c0000)  
  32. No shared spaces configured.  
  33. 2.940: [GC 8807K->8537K(19456K), 0.0193472 secs]  
  34. Heap after GC invocations=2 (full 0):  
  35.  def new generation   total 9216K, used 345K [7f9a00000, 7fa400000, 7fa400000)  
  36.   eden space 8192K,   0% used [7f9a00000, 7f9a00000, 7fa200000)  
  37.   from space 1024K,  33% used [7fa200000, 7fa2566e8, 7fa300000)  
  38.   to   space 1024K,   0% used [7fa300000, 7fa300000, 7fa400000)  
  39.  tenured generation   total 10240K, used 8192K [7fa400000, 7fae00000, 7fae00000)  
  40.    the space 10240K,  80% used [7fa400000, 7fac00030, 7fac00200, 7fae00000)  
  41.  compacting perm gen  total 21248K, used 4817K [7fae00000, 7fc2c0000, 800000000)  
  42.    the space 21248K,  22% used [7fae00000, 7fb2b4498, 7fb2b4600, 7fc2c0000)  
  43. No shared spaces configured.  
  44. }  

2.代码2:

 

 

[java]  view plain copy print ?
 
  1. public class JVMTest {  
  2.      public static void main(String args[]) throws InterruptedException {  
  3.         byte [] bytes1 = new byte[1024*1024*2];  
  4.         byte [] bytes2 = new byte[1024*1024*2];  
  5.         byte [] bytes3 = new byte[1024*1024*2];  
  6.         System.out.println("step 1");  
  7.         byte [] bytes4 = new byte[1024*1024*2];  
  8.         Thread.sleep(2000);  
  9.         System.out.println("step 2");  
  10.         byte [] bytes5 = new byte[1024*1024*2];  
  11.         byte [] bytes6 = new byte[1024*1024*2];  
  12.         System.out.println("step 3");  
  13.         byte [] bytes7 = new byte[1024*1024*2];  
  14.         Thread.sleep(2000);  
  15.     }  
  16. }  



 

java -Xms20M -Xmx20M -Xmn10M -XX:+UseSerialGC -XX:+PrintHeapAtGC -Xloggc:gc.log JVMTest 

1次minor gc 一次full gc:原因 minor gc晋升到旧生代的大小大于旧生代的剩余空间。

 

[java]  view plain copy print ?
 
  1. {Heap before GC invocations=0 (full 0):  
  2.  def new generation   total 9216K, used 7335K [7f9a00000, 7fa400000, 7fa400000)  
  3.   eden space 8192K,  89% used [7f9a00000, 7fa129c88, 7fa200000)  
  4.   from space 1024K,   0% used [7fa200000, 7fa200000, 7fa300000)  
  5.   to   space 1024K,   0% used [7fa300000, 7fa300000, 7fa400000)  
  6.  tenured generation   total 10240K, used 0K [7fa400000, 7fae00000, 7fae00000)  
  7.    the space 10240K,   0% used [7fa400000, 7fa400000, 7fa400200, 7fae00000)  
  8.  compacting perm gen  total 21248K, used 4814K [7fae00000, 7fc2c0000, 800000000)  
  9.    the space 21248K,  22% used [7fae00000, 7fb2b38c0, 7fb2b3a00, 7fc2c0000)  
  10. No shared spaces configured.  
  11. 1.019: [GC 7335K->6495K(19456K), 0.0418591 secs]  
  12. Heap after GC invocations=1 (full 0):  
  13.  def new generation   total 9216K, used 351K [7f9a00000, 7fa400000, 7fa400000)  
  14.   eden space 8192K,   0% used [7f9a00000, 7f9a00000, 7fa200000)  
  15.   from space 1024K,  34% used [7fa300000, 7fa357ed8, 7fa400000)  
  16.   to   space 1024K,   0% used [7fa200000, 7fa200000, 7fa300000)  
  17.  tenured generation   total 10240K, used 6144K [7fa400000, 7fae00000, 7fae00000)  
  18.    the space 10240K,  60% used [7fa400000, 7faa00030, 7faa00200, 7fae00000)  
  19.  compacting perm gen  total 21248K, used 4814K [7fae00000, 7fc2c0000, 800000000)  
  20.    the space 21248K,  22% used [7fae00000, 7fb2b38c0, 7fb2b3a00, 7fc2c0000)  
  21. No shared spaces configured.  
  22. }  
  23. {Heap before GC invocations=1 (full 0):  
  24.  def new generation   total 9216K, used 6754K [7f9a00000, 7fa400000, 7fa400000)  
  25.   eden space 8192K,  78% used [7f9a00000, 7fa040af0, 7fa200000)  
  26.   from space 1024K,  34% used [7fa300000, 7fa357ed8, 7fa400000)  
  27.   to   space 1024K,   0% used [7fa200000, 7fa200000, 7fa300000)  
  28.  tenured generation   total 10240K, used 6144K [7fa400000, 7fae00000, 7fae00000)  
  29.    the space 10240K,  60% used [7fa400000, 7faa00030, 7faa00200, 7fae00000)  
  30.  compacting perm gen  total 21248K, used 4817K [7fae00000, 7fc2c0000, 800000000)  
  31.    the space 21248K,  22% used [7fae00000, 7fb2b47b0, 7fb2b4800, 7fc2c0000)  
  32. No shared spaces configured.  
  33. 3.073: [Full GC 12898K->12633K(19456K), 0.0712905 secs]  
  34. Heap after GC invocations=2 (full 1):  
  35.  def new generation   total 9216K, used 4441K [7f9a00000, 7fa400000, 7fa400000)  
  36.   eden space 8192K,  54% used [7f9a00000, 7f9e56680, 7fa200000)  
  37.   from space 1024K,   0% used [7fa300000, 7fa300000, 7fa400000)  
  38.   to   space 1024K,   0% used [7fa200000, 7fa200000, 7fa300000)  
  39.  tenured generation   total 10240K, used 8192K [7fa400000, 7fae00000, 7fae00000)  
  40.    the space 10240K,  80% used [7fa400000, 7fac000c8, 7fac00200, 7fae00000)  
  41.  compacting perm gen  total 21248K, used 4817K [7fae00000, 7fc2c0000, 800000000)  
  42.    the space 21248K,  22% used [7fae00000, 7fb2b47b0, 7fb2b4800, 7fc2c0000)  
  43. No shared spaces configured.  
  44. }  



新生代对象晋升到旧生代的规则:经过多次minor gc之后还存在的对象或者是to space放不下的直接晋升到old generation

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值