我正在尝试通过MATLAB运行java程序。当我的输入文件很小时,它工作正常。但是,当我增加文件大小,反过来增加我的堆大小时,我收到此错误消息:
VM初始化期间发生错误
无法为对象堆保留足够的空间
无法创建Java虚拟机。
当我使用-Xmx1500m
运行我的java命令时,它工作正常,但当我将其增加到-Xmx2000m
时,它会给出错误消息。我在的计算机有12 GB的内存,所以我不明白为什么将我的堆大小增加到2000应该是一个问题。我没有任何内存堵塞程序在运行。
答案 0 :(得分:5)
您似乎正在使用32位JVM。 Java需要为其堆提供单个连续内存块,并且根据操作系统的不同,无论您拥有多少内存,它都限制在1.2到1.6 GB之间。
如果使用64位JVM,则不会出现此问题。
答案 1 :(得分:1)