我遇到了下一个问题:我正在尝试通过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是原创的,我也检查了所有的pathes和opts(即JAVA_HOME,JRE_HOME,CATALINA_BASE,CATALINA_HOME,CATALINA_TMPDIR).tomcat版本是7.0.35 java v 1.6
这是你的问题
Invalid initial heap size: -Xms256m -Xmx512m -XX:MaxPermSize=256m
一些系统(可能是Windows JRE)理解Xms
并Xmx
以小写字母给出的值.这里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
了intelliJ的文件并开始工作.以下是错误设置Xmx和 Xms值时可能出现的错误列表 -
java -Xmx4056M -Xms4056M HelloWorld
问题:VM初始化期间发生错误,对象堆+ VM数据的大小超出了最大可表示大小
原因:-Xms或-Xmx的值高于或接近物理内存的大小,因为我的机器有4GB内存.
java -Xmx1056M -Xms2056M HelloWorld
问题:VM初始化期间发生错误,指定了不兼容的最小和最大堆大小
原因:-Xms的值高于-Xmx
java -Xms2056M HelloWorld
问题:VM初始化期间发生错误,无法为对象堆保留足够的空间
原因:仅提供-Xms并且未提供-Xmx.如果你有拼写错误,你也会得到这个错误,而不是-Xmx,你已经指定了-Xms两次
java -Xms1024 M -Xmx1024M HelloWorld
问题:VM初始化期间发生错误,初始堆太小
原因:如果您的空间介于1024和M之间,那么JVM假定-Xms的大小仅为1024字节,并且打印错误使得它太小而无法启动JVM