Java 中“Error occurred during initialization of VM”错误的解决方法

最近一段时间一直运行正常的程序今天突然发现无法启动,出现如下提示:

Error occurred during initialization of VM
Could not reserve enough space for object heap

根据错误的提示初步判断是因为Java虚拟机内存设置的问题,查看了程序启动参数如下:
java -Xms512m -Xmx2024 com.javatang.MyApp

 原来是设置内存的时候最大内存后面没有设置单位,于是修改为
java -Xms512m -Xmx2024m com.javatang.MyApp

可是运行程序还是出现上面的错误,突然想到前几天服务器的内存撤掉了一根,现在只有3G了,设置的最大内存可能太多了,于是又修改如下
java -Xms512m -Xmx1024m com.javatang.MyApp

运行之后一切就正常了。

参考资料:
解决JB 2005不能启动的问题
http://www.dragonsoft.net.cn/Blog/Show.asp?BlogID=151
JVM的垃圾回收机制详解和调优-附PDM应用实例
http://www.matrix.org.cn:8080/jmatrix/resource/article/43/43769_JVM_GC_PDM.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注