我在一个多月后面临这个问题,这是我在命令行上运行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位),Service Pack 1.英特尔(R)Core(TM)i7-2640M CPU @ 2.80GHz 8.00 GB RAM
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台笔记本电脑.:-)
尤里卡!最后我找到了解决方案.
这是由Windows更新导致的,该更新阻止任何32位进程在64位计算机上消耗超过1200 MB.唯一可以修复此问题的方法是使用Win 7上的"系统还原"选项.
开始>>所有程序>>附件>>系统工具>>系统还原.
然后恢复到Java工作正常的日期.这对我有用.令人惊讶的是,即使禁用所有Windows更新,Windows仍会以"关键更新"的名义推送系统更新.^&%)#*Windows :-)
无论如何,这是如何解决它:
转到开始 - >控制面板 - >系统 - >高级(选项卡) - >环境变量 - >系统变量 - >新建:
变量名称:_JAVA_OPTIONS
变量值:-Xmx512M
取自此链接
如果您在具有32位JVM(JDK)的64位计算机上运行,则可能会发生这种情况,并将其切换为64位JVM.检查您的(右键单击我的电脑 - >属性)控制面板\系统和安全\系统 - >高级系统设置 - >高级选项卡 - >环境变量 - > JAVA_HOME ...