设置新生代大小为 1M,-XX:SurvivorRatio=2, 结果 eden space 为 0K,from space 为 512K,to space 为 512K。是因为 from 和 to 有最小值限制吗?不太明白,求各位大佬指教~
vm 参数: -Xmx20m -Xms20m -Xmn1m -XX:SurvivorRatio=2 -XX:+PrintGCDetails
版本:jdk1.7.0_79
代码和结果如下:
public class NewSizeDemo {
public static void main(String[] args){
byte[] b = null;
for (int i=0; i<10; i++){
b = new byte[1*1024*1024];
}
}
}
Heap
PSYoungGen total 512K, used 0K [0x00000007fff00000, 0x0000000800000000, 0x0000000800000000)
eden space 0K, -2147483648% used [0x00000007fff00000,0x00000007fff00000,0x00000007fff00000)
from space 512K, 0% used [0x00000007fff80000,0x00000007fff80000,0x0000000800000000)
to space 512K, 0% used [0x00000007fff00000,0x00000007fff00000,0x00000007fff80000)
ParOldGen total 19456K, used 11573K [0x00000007fec00000, 0x00000007fff00000, 0x00000007fff00000)
object space 19456K, 59% used [0x00000007fec00000,0x00000007ff74d5a0,0x00000007fff00000)
PSPermGen total 21504K, used 2996K [0x00000007f9a00000, 0x00000007faf00000, 0x00000007fec00000)
object space 21504K, 13% used [0x00000007f9a00000,0x00000007f9ced030,0x00000007faf00000)