我面临下一个问题:我尝试通过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
7条答案
按热度按时间owfi6suc1#
这是你的问题
Invalid initial heap size: -Xms256m -Xmx512m -XX:MaxPermSize=256m
有些系统(可能是Windows JRE)可以识别小写的
Xms
和Xmx
值,这里的256 m和512 m分别表示256 MB和512 MB。有些机器(Ubuntu上的JDK 1.7)不理解
small m for MB
,所以当我把Xms 256 m改为Xmx 512 m,to =>
* Xms 256M改为Xmx 512M*时,它就开始工作了。P.S -〉我在Ubuntu 15(JDK 1.7)上安装IntelliJ时遇到了这个错误,我编辑了IntelliJ的
/bin/idea.vmoptions
文件,它开始工作了。以下是错误设置Xmx和Xms值时可能出现的错误列表-
Java -Xmx 4056 M-Xms 4056 M您好世界
问题:初始化VM时出错,对象堆与VM数据得大小超过了最大可表示大小
Java -Xmx 1056 M-Xms 2056 M您好世界
问题:初始化VM时发生错误,指定的最小和最大堆大小不兼容
Java -Xms 2056 M您好世界
问题:初始化VM期间出错,无法为对象堆保留足够的空间
Java -Xms 1024 M -Xmx 1024 M您好世界
问题:初始化VM时出错,初始堆太小
ghhkc1vu2#
这个问题发生在我试图运行 cassandra 。
卸载Java 32位并安装Java 64位为我解决了这个问题。
t5zmwmid3#
问题:您尝试初始化应用程序的最小和最大堆大小,但似乎遇到了一些语法问题。您需要正确设置它。请注意,最小和最大大小点受支持与应用程序正在运行的计算机内存有关。
来自Oracle Documentation:
示例:
在Java客户端
java -Xms:64m -Xmx:1g -jar app.jar
上关于docker-compose.yml示例(不同的语法):
xbp102n04#
我从here中得到了正确的参数(JAVA_OPTS)。我已经在setenv.bat中设置了它们。
w6mmgewl5#
我得到了同样的错误时,初始化H2O的深度学习在R.删除之间的空间设置最小内存大小:
h2o.init(min_mem_size =“10 G”)出现错误:
初始化VM时出错初始堆太小
在删除10和G之间的空格后,它工作了:
最小内存大小=“10G”)
jk9hmnmh6#
在我的例子中,原因是在
-javaagent
之前有-Xms
选项。以正确的顺序执行java -javaagent:xxx -Xms256m
就成功了。crcmnpdw7#
即使系统中有可用的物理内存,您也可能会遇到此问题。在大多数32位Java版本中,最大堆大小的范围为1.4G到1.6G。有关详细信息,请通过此链接获取
如果您必须初始化超过1.4G至1.6G堆内存的JVM,则应安装64位Java版本。