Tomcat 7 getting CreateJavaVM Failed Error
Pergunta
I have an Apache tomcat 7.0.5 Server on a Windows R2 Server and I've deployed a webApp ( java JSF) on it, everything was working fine, but it suddenly stopped and won't run again. when I try to run it, it tells me "Error 1067: The Process terminated unexpectedly" and In the logs I get these files:
tomcat7-stdout.2012-08-08.log
2012-08-08 18:00:06 Commons Daemon procrun stdout initialized
commons-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 '
since I was having some 'perm gen' memory error I added some stuff to my apache Tomcat properties, folowing this link how to handle Perm Gen
so my Java Options look like this:
-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
Any ideas as to why the server won't start anymore? THANKS!
~Myy
Solução
After spending hours trying to figure this out, I finally found it. I had an extra space at the end of VM command.
'+HeapDumpOnOutOfMemoryError '
which was giving me the Unrecognized VM option.....
Thanks for reading, hopefully when you get this error, you can take extra precautions to verify the syntax.
Outras dicas
to manage the memory you need to set some Xms and Xmx parameter
- Xms manages the initial heap size
- Xmx manages the maximum heap size
Thus try to add :
-Xms=256m -Xmx=256m
regards
The error is on option "HeapDumpOnOutOfMemoryError" which is not even listed in your post. Can you post a screen print of the "Java" tab from the "tomcat" service screen (similar to the link you have provided) ? This will tell us the actual options you are using and also the memory you have set.
copy the file msvcr71.dll from the bin dir of your java installation, to the bin dir of the tomcat installation.