服务器TOMCAT自动关闭---内存泄漏问题

**最近发现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++打开文件,
全文搜索
```java
%CATALINA_OPTS%
```
替换成
```java
-Xmx128m -Xms64m -Xmn32m -Xss16m
```
**一共有四处需要替换的地方**
然后启动tomcat

3.可能以上情况不行,接下来就是检查你的运行环境了,运行环境也是有影响的
cmd命令窗口输入:java -version
看看版本显示是否正常
![](/upload/2018/7/QQ截图2018081016152820180810161540973.png)
如果不是图片中的提示,版本号无所谓,就需要看看你jdk的环境变量对不对了
简单教程环境变量配置
a.![](/upload/2018/7/QQ截图201808101617512018081016184384.png)
b.![](/upload/2018/7/QQ截图2018081016182620180810161856577.png)
如果环境变量没问题,继续

4.以上情况都不行的话,建议更换tomcat版本
**推荐tomcat7090以上**
[tomcat官网下载](https://tomcat.apache.org/ "tomcat官网下载")
如图下载需要的版本即可
![](/upload/2018/7/QQ截图2018081016222420180810162234223.png)
安装tomcat,打包部署,启动tomcat

5.如果以上还是不行
a.可以在本地把项目打包出来
运行环境直接copy出来即可,路径下如图
![](/upload/2018/7/QQ截图2018081016254020180810162619201.png)
wtpwebapps文件夹里面就是你运行的项目,不要剪切,不然你的本地代码也没了(哥就吃过这个亏,当天的代码全没了,但是我每天都会备份数据)
b.然后自己放到自己刚才下载的tomcat里面(这只是我的排错方式,当本地环境和服务器环境一样,看本地是否还报错)
如果发现本地不报错,那就是服务器的问题了
可能是你服务器配置雀实太低了,让老板加钱升级吧
推荐环境:jdk1.8,tomcat7090 
ps:高版本的tomcat用jdk1.8

个人博客:http://aodeng.cc:8886/archives/tomca

你可能感兴趣的:(Bug收集)