最近一个项目的tomcat隔几个小时就死掉一次,肯定是代码的问题,可怎么也找不到,而且也没有太多的时间去找,所以就找了一个方法,能够让tomcat死掉后马上自动重启,暂时用一下吧,代码还要慢慢看。
方法就是将免安装版的tomcat注册为系统服务,然后实现自动重启。
1、tomcat/bin里德service.bat是设置服务的
在命令提示符中输入:service.bat install
如有多个tomcat需要注册,可在后面加上服务名,如:service.bat install dc,注册完成之后,在服务中会出现一个名为Apache Tomcat dc的服务。
运行完命令后就可以在服务中看到 Apache Tomcat5 然后可以自行改为手动或自动启动;
2、在服务属性里面的恢复选项里面,选择第一次失败后,重新启动服务,第二次....,......时间设置至少一分钟;
3、移除服务命令:service.bat remove
如有多个tomcat,后面可加需要移除的服务名。
由于tomcat使用内存有限制,经常出现内存溢出问题,可更改注册表解决:
注册表位置:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat6\Parameters\Java\Options
或:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Tomcat Service Manager\Tomcat6\Parameters\Java\Options
双击,将值改为:
-Dcatalina.base=D:\apache-tomcat-6.0.20
-Dcatalina.home=D:\apache-tomcat-6.0.20
-Djava.endorsed.dirs=D:\apache-tomcat-6.0.20\endorsed
-Djava.io.tmpdir=D:\apache-tomcat-6.0.20\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=D:\apache-tomcat-6.0.20\conf\logging.properties
-Xms1024m
-Xmx1024m
-XX:MaxPermSize=512m
-XX:+PerfBypassFileSystemCheck
JvmMs和JvmMx改为0