无法为对象堆预留足够的空间

当我运行时,每次尝试运行程序时都会重复出现以下异常。

VM初始化期间发生错误

无法为对象堆预留足够的空间

无法创建Java虚拟机。

我试图增加我的虚拟内存(页面大小)和内存大小,但无济于事。 任何人都可以告诉我如何消除这个错误?


使用-XX:MaxHeapSize=512m (或任何大数字)(或简称为-Xmx512m )运行JVM,


这也可能是由于在32位HotSpot虚拟机上设置了太大的内容导致的,例如:

-Xms1536m -Xmx1536m

这可能会/将工作:

-Xms1336m -Xmx1336m

我在使用javac时遇到了这个问题,而且它似乎没有选择使用命令行选项,

-bash-3.2$ javac -Xmx256M HelloWorldApp.java 
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

所以这里的解决方案如此设置_JAVA_OPTIONS

-bash-3.2$ export _JAVA_OPTIONS="-Xmx256M"
-bash-3.2$ javac HelloWorldApp.java 
Picked up _JAVA_OPTIONS: -Xmx256M

这个编译好。

这种情况发生在有很多内存的机器上,但内存限制较低。 Java决定分配一个大堆,因为它在机器中检测到内存,但由于ulimits不允许分配它。

链接地址: http://www.djcxy.com/p/2351.html

上一篇: Could not reserve enough space for object heap

下一篇: heap, stack and permanent generation