Java无法为对象堆错误保留足够的空间
我在32位Windows和4 GB RAM上运行Java7,但是:
java -Xmx4G -Xms4G -jar Minecraft.jar java -Xmx3G -Xms3G -jar Minecraft.jar java -Xmx2G -Xms2G -jar Minecraft.jar
……仍然无效。 错误:
VM初始化期间发生错误
无法为对象堆保留足够的空间
错误:无法创建Java虚拟机。
错误:发生了致命exception。 程序将会退出。
java -Xmx1G -Xms1G -jar Minecraft.jar
正在运行。 为什么?
转到Start
→ Control Panel
→ System
→ Advanced system settings
→ advanced(tab)
→ Environment Variables
→ System Variables
→ New
:
Variable name: _JAVA_OPTIONS Variable value: -Xmx512M
如果你通过java上的这个 IBM链接,它说在32位窗口上推荐的堆大小是1.5 GB,最大堆大小是1.8 GB。 所以你的jvm没有为-Xmx2G
及以上版本进行初始化。
此外,如果您通过这个 SO答案,很明显DLL绑定是内存预留更改的问题,这不是一项简单的任务。 因此,建议您使用64位Windows和64位JVM。 虽然它会占用更多的RAM,但你将拥有更多连续的虚拟地址空间。
我有这个问题。 我通过下载64x的Java解决了这个问题。 这是链接: http : //javadl.sun.com/webapps/download/AutoDL?BundleId=87443
这对我来说是一个很容易解决的问题。
- 你必须确保你的系统有正确的java,如32位或64位。
-
如果你安装了正确的软件,它仍然比goto发生
control panel
→system
→Windows 8或Windows的advanced system settings
control panel
→system and security
→system
→Windows 10的advanced system settings
。 - 您必须转到{高级选项卡},然后单击{环境变量}。
- 您将点击
下的{新} - 你将创建一个新变量。 变量名称:
_JAVA_OPTIONS
变量值:-Xmx512M
至少这对我有用。
4gb RAM并不意味着你可以将它全部用于java进程。 系统进程需要大量RAM。 不要超过2GB,否则会有些麻烦。
在启动jvm之前,只需检查可用的RAM数量,然后相应地设置内存。
确保它运行64位版本的java有这样的:
“c:\ Program Files \ Java \ jre7 \ bin \ java.exe”-Xmx1536M -Xms1536M -XX:MaxPermSize = 256M -jar forge-1.6.4-9.11.1.965-universal.jar
看看你安装的jre版本以防万一.. x64应该在程序文件中,而x32驻留在Program Files(x86)中
这对我java -Xmx3G -Xms3G
(是的,我有同样的问题)是说像java -Xmx3G -Xms3G
这样的东西放java -Xmx1024M
所以run.bat应该看起来像java -Xmx1024M -jar craftbukkit.jar -o false PAUSE
双击Liferay CE服务器 – >将-XX:MaxHeapSize = 512m添加到Memory args – >启动服务器! 请享用…
这对我有用!