jvm 虚拟机参数_新生代内存分配
1、参数
-Xmn 设置新生代的大小,设置一个比较大的新生代会减少老年代的大小,这个参数对系统性能以及 GC 行为影响很大,新生代大小一般设置为真个堆内存的1/3到1/4
-XX:SurvivorRatio 用来设置新生代中 eden 区和 from/to 区的比例。含义 -XX:SurvivorRatio = eden/from = eden/to
-XX:NewRatio 设置新生代和老年代的比例 -XX:NewRatio = 老年代/新生代
2、测试代码
public static void main(String[] args) { //配置参数 //-Xms20m -Xmx20m -Xmn1m -XX:SurvivorRatio=2 -XX:+PrintGCDetails -XX:+UseSerialGC byte[] b = null; for (int i = 0; i < 5; i++) { //连续向系统申请 5m 空间 b = new byte[1*1024*1024]; } }
3、控制台打印结果
1 [GC [DefNew: 512K->256K(768K), 0.0279056 secs] 512K->440K(20224K), 0.0895553 secs] [Times: user=0.00 sys=0.00, real=0.09 secs] 2 Heap 3 def new generation total 768K, used 384K [0x00000000f9a00000, 0x00000000f9b00000, 0x00000000f9b00000) 4 eden space 512K, 25% used [0x00000000f9a00000, 0x00000000f9a20348, 0x00000000f9a80000) 5 from space 256K, 100% used [0x00000000f9ac0000, 0x00000000f9b00000, 0x00000000f9b00000) 6 to space 256K, 0% used [0x00000000f9a80000, 0x00000000f9a80000, 0x00000000f9ac0000) 7 tenured generation total 19456K, used 5304K [0x00000000f9b00000, 0x00000000fae00000, 0x00000000fae00000) 8 the space 19456K, 27% used [0x00000000f9b00000, 0x00000000fa02e320, 0x00000000fa02e400, 0x00000000fae00000) 9 compacting perm gen total 21248K, used 2550K [0x00000000fae00000, 0x00000000fc2c0000, 0x0000000100000000) 10 the space 21248K, 12% used [0x00000000fae00000, 0x00000000fb07dbe0, 0x00000000fb07dc00, 0x00000000fc2c0000) 11 No shared spaces configured.
4、eclipse 配置 jvm 参数、分析打印结果。请打开下面链接
http://www.cnblogs.com/fangwu/p/8376326.html