指定的初始堆大小和最大堆大小不兼容。

23

我在运行一个包含自然语言处理库的Java类时遇到了此错误....

Error occurred during initialization of VM
Incompatible initial and maximum heap sizes specified

有什么办法可以解决这个错误:)


6
运行Java类的命令是什么? - asgs
2
第三个要点可能会有帮助:http://javahowto.blogspot.com/2006/06/6-common-errors-in-setting-java-heap.html - home
我正在使用NetBeans运行Java类。 - S Gaber
2个回答

34
请注意,如果将初始堆大小设置为大于最大堆大小,则应用程序将产生此错误。
-Xms表示初始堆大小。 -Xmx表示特定JVM允许的最大堆大小。
java -Xms128m MyClass是错误的,因为默认最大堆大小可能低于128m。 java -Xms128m -Xmx128m MyClass更好,因为初始大小等于或高于最大值。
了解这两个参数也很有用,如果您感兴趣,请在此处阅读更多:http://javahowto.blogspot.com/2006/06/6-common-errors-in-setting-java-heap.html

Java的-Xms和-Xmx选项的速度权衡
启动JVM时Xms和Xmx参数是什么?


1
我在dos窗口中运行了这个命令java -Xms128m -Xmx128m,但是我收到了相同的错误消息,我正在使用netbeans...有任何想法吗? - S Gaber
1
export _JAVA_OPTIONS=-Xms128m 解决了我的问题。 - John
约翰上面的评论对我有所帮助,但我仍然需要指定-Xmx参数:export _JAVA_OPTIONS="-Xms1024m -Xmx4048m" - Antoine Martin

0
在您的环境变量中设置_JAVA_OPTIONS=-Xms128m,我已经附上了参考截图。您可以相应地设置内存。 这是因为JVM没有分配所需的内存。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接