最近发现tomcat老是自动关闭,开始也发现了,不过没放在心上,直到今天,请求一提交到服务器,tomcat就死了

错误排查

tomcat自动关闭的原因很多,不一定是内存溢出,网上查到原因:
1.并发用户数目过大,也会导致tomcat自动停止服务
2.系统本身的网络负载平衡没有做好,导致tomcat自动停止服务
3.程序迭代不合理也是一个原因
4.数据库连接未关闭,导致资源损耗过重,会引起服务停止
5.程序严重错误,也会引起tomcat停止服务

没错,以上情况我都不是
接下来就是看日志了,报错看日志是常识了

1.首先看tomcat的bin目录下的logs文件夹的日志,日期排序,看当天的就行了,如果有错误信息,先解决了再说

2.看tomcat的bin目录下面,有没有hs_err_pidxxxx.log 之类的文件,如果没有,你可以不看下面的内容了,如果有,恭喜你,内存溢出了

解决方案

1.既然是内存溢出,就先看看自己服务器的配置,是不是服务器内存不够用了,尽量把没用的进程停止了

2.去tomcat的bin下面有个catalina.bat的批处理文件,用notepad++打开文件,
全文搜索

%CATALINA_OPTS%

替换成

-Xmx128m -Xms64m -Xmn32m -Xss16m

一共有四处需要替换的地方
然后启动tomcat

3.可能以上情况不行,接下来就是检查你的运行环境了,运行环境也是有影响的
cmd命令窗口输入:java -version
看看版本显示是否正常

如果不是图片中的提示,版本号无所谓,就需要看看你jdk的环境变量对不对了
简单教程环境变量配置
a.
b.
如果环境变量没问题,继续

4.以上情况都不行的话,建议更换tomcat版本
推荐tomcat7090以上
tomcat官网下载
如图下载需要的版本即可

安装tomcat,打包部署,启动tomcat

5.如果以上还是不行
a.可以在本地把项目打包出来
运行环境直接copy出来即可,路径下如图

wtpwebapps文件夹里面就是你运行的项目,不要剪切,不然你的本地代码也没了(哥就吃过这个亏,当天的代码全没了,但是我每天都会备份数据)
b.然后自己放到自己刚才下载的tomcat里面(这只是我的排错方式,当本地环境和服务器环境一样,看本地是否还报错)
如果发现本地不报错,那就是服务器的问题了
可能是你服务器配置雀实太低了,让老板加钱升级吧
推荐环境:jdk1.8,tomcat7090
ps:高版本的tomcat用jdk1.8