我试图通过MATLAB运行java程序 . 当我的输入文件很小时,它工作正常 . 但是,当我增加文件大小,并反过来增加我的堆大小时,我收到此错误消息:
VM初始化期间发生错误无法为对象堆保留足够的空间无法创建Java虚拟机 .
当我使用 -Xmx1500m 运行我的java命令时,它工作正常,但当我将其增加到 -Xmx2000m 时,它会给出错误消息 . 计算机我不知道为什么将堆大小增加到2000应该是一个问题 . 我没有任何内存堵塞程序在运行 .
-Xmx1500m
-Xmx2000m
您似乎正在使用32位JVM . Java需要为其堆提供单个连续内存块,并且取决于操作系统,根据您的操作系统,无论您拥有多少内存,都将其限制为1.2到1.6 GB .
如果您使用64位JVM,则不会出现此问题 .
参考这个帖子Java maximum memory on Windows XP
也是我最喜欢的关于这个主题的文章Thanks for the memory
编辑:替换第一个链接,抱歉
2 回答
您似乎正在使用32位JVM . Java需要为其堆提供单个连续内存块,并且取决于操作系统,根据您的操作系统,无论您拥有多少内存,都将其限制为1.2到1.6 GB .
如果您使用64位JVM,则不会出现此问题 .
参考这个帖子Java maximum memory on Windows XP
也是我最喜欢的关于这个主题的文章Thanks for the memory
编辑:替换第一个链接,抱歉