无效的最大堆大小?

4

我在IntelliJ中运行一个用于我的项目的grails应用程序,并设置了VM选项:

-Dserver.port=8080 -Xms3g -Xmx3g -XX:-UseGCOverheadLimit -Xverify:none

日志内容如下:

正在运行 Grails 应用程序

无效的最大堆大小:-Xmx4096M

指定的大小超出了可表示的最大大小。

错误:无法创建 Java 虚拟机。

错误:发生致命异常。程序将退出。

错误 | Forked Grails VM 以错误退出

请问这样是否可以帮到您?


你有多少可用的RAM?你使用什么操作系统?你安装了哪个JDK? - Juraj Martinka
1个回答

6
如果您的JVM是32位的,那么堆大小应该小于4GB。您可以安装64位的JVM,或者使用-Xmx2048M将最大堆空间设置为2GB。我之前遇到过类似的问题,这个方法对我有效,希望对您也有帮助。

我已经安装了amd-64的JDK,它是否包含JVM? - Ishmeet Singh
请在命令行中运行“java -version”以查看JVM是32位还是64位。是的,JDK包含JRE中的所有内容,因为JDK是JRE的超集。 - Sercan
请告诉我当您打开终端并运行以下命令时,第三行看到的内容是什么:java -version。您应该会看到OpenJDK 32位或64位。 - Sercan
Java HotSpot(TM) Server VM (build 25.25-b02, mixed mode) - Ishmeet Singh
这很可能是问题所在,因为在 https://java.com/en/download/ 上点击大红色按钮会自动下载32位版本。这就是我的问题所在。64位安装程序在这里:https://java.com/en/download/manual.jsp。 - Martavis P.
显示剩余2条评论

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