VM 初始化期间发生错误 无法为对象堆保留足够的空间 无法创建 Java 虚拟机

2022-09-05 00:07:49

自从一个多月以来,我一直面临这个问题,这是我在命令行上运行java时看到的:

$ java -Xmx1300m 
Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.

如果我用较少的内存运行,它工作正常

$ java -Xmx1240m Usage: java [-options] class [args...] (to execute a class) or java [-options] -jar jarfile [args...] (to execute a jar file) ..... .....

我花了一个星期试图调试这个,但没有任何效果。最后,我让我的IT支持人员更换了笔记本电脑。这发生在一个月前的10月23日。现在,一个月后,同样的问题又回到了我的新系统上。

我的系统配置是:

Win 7 Enterprise (64-bit), Service Pack 1.英特尔®酷睿™i7-2640M 处理器 @ 2.80GHz 8.00 GB 内存

Java: java version "1.5.0_20" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_20-b02) Java HotSpot(TM) Client VM (build 1.5.0_20-b02, mixed mode)

我们是一支大约30人的团队,我是唯一一个面对这个问题的人。所有其他的都有几乎相同的配置,并且对他们来说工作正常。

一个重要的观察结果是Java在一段时间内运行良好,然后一旦它出现,这个问题就会出现,即使它没有消失,即使我重新安装java。

在IT支持人员通过笔记本电脑重新成像后,我第三次遇到这个问题。它工作了一个月,现在同样的问题又回来了。

每个人都完全无能为力。我现在已经开始使用2台笔记本电脑。:-)


答案 1

无论如何,这是如何解决它:

转到“开始>控制”面板>系统>高级(选项卡)->环境变量->系统变量->新建:

变量名称:_JAVA_OPTIONS

变量值:-Xmx512M

取自此链接


答案 2

尤里卡!最后,我找到了解决方案。

这是由 Windows 更新引起的,该更新会阻止任何 32 位进程在 64 位计算机上消耗超过 1200 MB。解决此问题的唯一方法是在Win 7上使用“系统还原”选项。

启动>>系统还原>>系统工具>>>>附件。

然后恢复到Java工作正常的日期。这对我有用。令人惊讶的是,即使您禁用所有Windows更新,Windows仍然以“关键更新”的名义推送系统更新。^&%)#* Windows :-)