Tomcat 7获取CreateJavaVM失败错误

时间:2012-08-09 04:03:31

标签: apache jvm tomcat7 permgen

我在Windows R2服务器上安装了一个Apache tomcat 7.0.5服务器,并在其上部署了一个webApp(java JSF),一切正常,但它突然停止了,不再运行了。当我尝试运行它时,它告诉我“错误1067:进程意外终止”并在日志中我得到这些文件:

tomcat7-stdout.2012-08-08.log

2012-08-08 18:00:06 Commons Daemon procrun stdout initialized

公地daemon.2012-08-08.log

[2012-08-08 19:02:30] [info]  Commons Daemon procrun finished
[2012-08-08 19:13:02] [info]  Commons Daemon procrun (1.0.4.0 64-bit) started
[2012-08-08 19:13:02] [info]  Running 'Tomcat7' Service...
[2012-08-08 19:13:02] [info]  Starting service...
[2012-08-08 19:13:02] [error] CreateJavaVM Failed
[2012-08-08 19:13:03] [info]  Service started in 1000 ms.
[2012-08-08 19:13:03] [info]  Run service finished.
[2012-08-08 19:13:03] [info]  Commons Daemon procrun finished

tomcat7-stderr.2012-08-08.log

2012-08-08 18:00:06 Commons Daemon procrun stderr initialized
Please use CMSClassUnloadingEnabled in place of CMSPermGenSweepingEnabled in the future
Unrecognized VM option '+HeapDumpOnOutOfMemoryError '

因为我有一些'perm gen'内存错误,所以我在apache Tomcat属性中添加了一些内容,以下链接how to handle Perm Gen

所以我的Java选项看起来像这样:

-Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 7.0
-Dcatalina.base=C:\Program Files\Apache Software Foundation\Tomcat 7.0
-Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 7.0\endorsed
-Djava.io.tmpdir=C:\Program Files\Apache Software Foundation\Tomcat 7.0\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\logging.properties
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled
-XX:PermSize=256m
-XX:MaxPermSize=256m
-XX:+HeapDumpOnOutOfMemoryError 

关于为什么服务器不再启动的任何想法?谢谢!

〜MYY

4 个答案:

答案 0 :(得分:10)

花了好几个小时试图解决这个问题后,我终于找到了它。我在VM命令结束时有一个额外的空间。

 '+HeapDumpOnOutOfMemoryError ' 

给了我无法识别的VM选项.....

感谢阅读,希望当您收到此错误时,您可以采取额外的预防措施来验证语法。

答案 1 :(得分:0)

管理设置一些Xms和Xmx参数所需的内存

  • Xms管理初始堆大小
  • Xmx管理最大堆大小

因此尝试添加:

-Xms=256m -Xmx=256m

问候

答案 2 :(得分:0)

错误在选项“HeapDumpOnOutOfMemoryError”上,甚至没有列在您的帖子中。您可以在“tomcat”服务屏幕上发布“Java”标签的屏幕打印(类似于您提供的链接)吗?这将告诉我们您正在使用的实际选项以及您设置的内存。

答案 3 :(得分:0)

将文件msvcr71.dll从java安装的bin目录复制到tomcat安装的bin目录。