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

2022-09-01 23:09:07

当我运行一个具有NLP库的java类时,我得到了这个错误....

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

任何想法,我怎么能解决这个错误:)


答案 1

您应该注意,如果将初始堆大小设置为大于最大值1,则应用程序将产生此类错误

-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 参数是什么?


答案 2

设置_JAVA_OPTIONS=-Xms128m中的环境变量,我附上截图供参考。您可以相应地设置模因。发生这种情况是因为没有为 JVM 分配所需的内存。

enter image description here


推荐