初始堆大小无效。无法创建Java虚拟机

新手上路,请多包涵

我遇到了下一个问题:我试图通过 startup.bat 手动启动 Tomcat,但它似乎没有显示任何结果,然后我尝试运行 shutdown.bat 并且控制台接下来显示:

  D:\apache-tomcat-7.0.35\bin>startup.bat
Using CATALINA_BASE:   "D:\apache-tomcat-7.0.35"
Using CATALINA_HOME:   "D:\apache-tomcat-7.0.35"
Using CATALINA_TMPDIR: "D:\apache-tomcat-7.0.35\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.6.0_31"
Using CLASSPATH:       "D:\apache-tomcat-7.0.35\bin\bootstrap.jar;D:\apache-tomcat-7.0.35\bin\tomcat-juli.jar"
D:\apache-tomcat-7.0.35\bin>shutdown.bat
Using CATALINA_BASE:   "D:\apache-tomcat-7.0.35"
Using CATALINA_HOME:   "D:\apache-tomcat-7.0.35"
Using CATALINA_TMPDIR: "D:\apache-tomcat-7.0.35\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.6.0_31"
Using CLASSPATH:       "D:\apache-tomcat-7.0.35\bin\bootstrap.jar;D:\apache-tomcat-7.0.35\bin\tomcat-juli.jar"
Invalid initial heap size: -Xms256m -Xmx512m -XX:MaxPermSize=256m
Could not create the Java virtual machine.

catalina.bat 是原始文件,我还检查了所有路径和选项(即 JAVA_HOME、JRE_HOME、CATALINA_BASE、CATALINA_HOME、CATALINA_TMPDIR)。 tomcat 版本是 7.0.35 java v 1.6

原文由 John Smith 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.1k
2 个回答

这里 得到了正确的参数(JAVA_OPTS)。我已将它们设置在 setenv.bat 中。

原文由 John Smith 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是你的问题 Invalid initial heap size: -Xms256m -Xmx512m -XX:MaxPermSize=256m

某些系统(可能是 Windows JRE)理解 XmsXmx 以小写字母给出的值。这里256m和512m分别表示256MB和512MB。

有些机器(Ubuntu 上的 JDK 1.7)不理解 small m for MB 。所以当我更改 Xms256m -Xmx512m to => Xms256 M -Xmx512 M 时,它开始工作了。

PS -> 我在 Ubuntu 15 ( JDK 1.7) 上安装 IntelliJ 时遇到这个错误,我编辑了 /bin/idea.vmoptions 文件,它开始工作了。

以下是 错误设置 XmxXms 值可能导致的错误列表 -

java -Xmx4056M -Xms4056M HelloWorld

问题:VM 初始化期间发生错误,对象堆 + VM 数据的大小超过了最大可表示大小

原因:-Xms 或-Xmx 的值高于或接近物理内存的大小,因为我的机器有 4GB 内存。

java -Xmx1056M -Xms2056M HelloWorld

问题:VM 初始化期间发生错误,指定的最小和最大堆大小不兼容

原因:-Xms 的值高于 -Xmx

java -Xms2056M HelloWorld

问题:VM 初始化期间发生错误,无法为对象堆保留足够的空间

原因:只提供了-Xms,没有提供-Xmx。如果您输入错误并且您指定了 -Xms 两次而不是 -Xmx,您也会收到此错误

java -Xms1024 M -Xmx1024M HelloWorld

问题:VM 初始化期间发生错误,初始堆太小

原因:如果你在 1024 和 M 之间有空间,那么 JVM 假定 -Xms 的大小仅为 1024 字节,并打印错误它太小 JVM 无法启动

原文由 sapy 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题