最近工作中发现有一台服务器tomcat一直自动挂掉,不知道什么原因,趁最近有时间好好看了一下,一般情况引起tomcat异常退出的情况出现在下面几种情况:
1.并发用户数目过大,也会导致tomcat自动停止服务;
2.系统本身的网络负载平衡没有做好,导致tomcat自动停止服务;
3.程序迭代不合理也是一个原因;
4.数据库连接未关闭,导致资源损耗过重,会引起服务停止;
5.程序严重错误,也会引起tomcat停止服务。
1) 通常情况下,如果连接用户数目过大的话,可能会出现内存溢出现象,这时候需要针对tomcat的jvm内存配置进行修改,通常修改就是在catalina.bat中添加:set CATALINA_OPTS=-Xms128M -Xmx256Mset JAVA_OPTS=-Xms128M -Xmx256M或者把%CATALINA_OPTS%和%JAVA_OPTS%代替为-Xms128M -Xmx256M 具体数字需要根据具体情况而定。
2)还有一种情况就是通过优化程序代码完成内存的合理使用,这块内容需要找到程序中消耗内存的地方,减少循环之类的问题。
3)另外一种情况就是连接未关闭的问题,这个问题也是经常出现的,这块内容需要特别注意,或者引入连接池来做此事情,但是连接池设置的大小也需要特殊情况特殊处理,如果处理不好也会出现连接数过小访问出错的问题。
4)还有一种情况是tomcat配置负载问题导致
5)如果实在找不到原因也可以把经常挂掉的进程写成守护进程,用脚本判断进程如果挂掉就自动启动。
理解还不是那么透彻,还需要不断学习,以后有新知识会及时更新,谢谢
领取专属 10元无门槛券
私享最新 技术干货