Java 6开始看到对象堆异常



我已经开始看到使用32位(64位)Java 6(在Windows 8 x64上)的以下错误。这不是一个问题,直到安装了一些Windows更新.....)调用ant脚本

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

有人见过吗?我在SO和其他地方做了一些挖掘,还没有找到任何解决

这个问题的方法。

编辑8/24

到目前为止,我尝试了以下方法来解决这个问题,但都没有成功:

  1. 在系统环境变量中设置_JAVA_OPTIONS,最大堆大小为3gb

  2. cmd中设置JVM_OPTS,然后再调用ant,最大堆大小为3gb

  3. 在进行实际的java调用时传递-Xms-Xmx参数,如%JAVA_HOME%binjava -Xms512m -Xmx2048m org.apache.tools.ant.Main

  4. 在调用ant前设置ANT_OPTS变量

  5. 卸载这些问题之前的Windows更新。

    有人有不同于以下的解决方案吗?由于其他的尝试都不奏效……

当您在32位windows(或32位windows模拟器)上运行时,您只有大约1.2 GB - 1.5 GB的虚拟内存可用。这个大小取决于在该空间中可能运行的其他内容,因为它并不总是在内存空间方面将程序彼此隔离(即内存空间是限制和共享的)

所以在更新windows之后,它可能已经安装了一个在Java之前运行的新程序,或者更新了一个使用更多内存的现有程序。

最简单的解决方案是使用64位JVM,它不会有这个问题。或者你必须减小最大堆大小

相关内容

  • 没有找到相关文章

最新更新