转载

探讨一个“无法创建JVM”的问题

记录一个今天遇到的问题。

Java版本:1.4

运行设置: -Xms1G -Xmx4G

报错:

[ Incompatible initial and maximum heap sizes specified: ] [ initial size:1073741824 bytes, maximum heap size: 67108864 bytes ] [ The initial heap size must be less than or equal to the maximum heap size. ] [ The default initial and maximum heap sizes are 4194304 and 67108864 bytes. ] 无法创建Java虚拟机。 

疑问:执行语句中设置初始化内存1G,最大内存4G,但是错误提示中为什么最大内存是64M?

尝试:

  1. Xms修改为512M,1G,2G,3G均报相同的错误
  2. Xms修改为4G(与Xmx相同),正常运行
  3. Xms修改为小于等于64M,正常运行

此程序一般肯定会用掉至少1G内存,设置为64M会使得GC太过频繁,所以目前Xms设置为4G来用,就是不理解为什么设置在大于64M小于4G的时候会创建JVM失败,并且提示最大内存是64M。

望高手指导,谢谢~

原文  http://blog.didispace.com/jvmerror/
正文到此结束
Loading...