MATLAB中的Java堆大小问题

时间:2011-08-29 18:44:41

标签: java matlab memory heap heap-memory

我正在尝试通过MATLAB运行java程序。当我的输入文件很小时,它工作正常。但是,当我增加文件大小,反过来增加我的堆大小时,我收到此错误消息:

  

VM初始化期间发生错误

     

无法为对象堆保留足够的空间

     

无法创建Java虚拟机。

当我使用-Xmx1500m运行我的java命令时,它工作正常,但当我将其增加到-Xmx2000m时,它会给出错误消息。我在的计算机有12 GB的内存,所以我不明白为什么将我的堆大小增加到2000应该是一个问题。我没有任何内存堵塞程序在运行。

2 个答案:

答案 0 :(得分:5)

您似乎正在使用32位JVM。 Java需要为其堆提供单个连续内存块,并且根据操作系统的不同,无论您拥有多少内存,它都限制在1.2到1.6 GB之间。

如果使用64位JVM,则不会出现此问题。

答案 1 :(得分:1)

参考此帖子Java maximum memory on Windows XP

也是我最喜欢的关于这个主题的文章Thanks for the memory

编辑:替换第一个链接,抱歉