TOMCAT异常退出分析和解决方法

系统运维 waitig 671℃ 百度已收录 0评论
—————————————————————————————————————————————————————————————————————————————
转载自:http://blog.csdn.net/lfsf802/article/details/48810313
—————————————————————————————————————————————————————————————————————————————
最近遇到一个很诡异的问题,远程登录服务器,本来是想查看一下Tomcat的运行情况,结果用鼠标把窗体一拖,Tomcat居然自己关上了!就好像是自己按下了Ctrl+C一样!同事的电脑都没有出现这种情况,后来换了鼠标也不行(第一个反应就是鼠标的问题)。最后关了几个正在运行的软件,居然又好了。
经过排查,确定是“有道词典”的问题,这个软件有个“划词”的功能,就是它搞的鬼,把“划词”功能一关就好了。

借着个机会整理一几种tomcat异常退出的情况和解决办法。

一般情况引起tomcat异常退出的情况出现在下面几种情况:
    1.并发用户数目过大,也会导致tomcat自动停止服务。 
    2.系统本身的网络负载平衡没有做好,导致tomcat自动停止服务; 
    3.程序迭代不合理也是一个原因; 
    4.数据库连接未关闭,导致资源损耗过重,会引起服务停止; 
    5.程序严重错误,也会引起tomcat停止服务!


通常情况下,如果冰法用户数目过大的话,可能会出现内存溢出现象,这时候需要针对tomcat的jvm内存配置进行修改,通常修改就是在catalina.bat中添加:
set CATALINA_OPTS=-Xms128M -Xmx256M
set JAVA_OPTS=-Xms128M -Xmx256M
或者把%CATALINA_OPTS%和%JAVA_OPTS%代替为-Xms128M -Xmx256M 
具体数字需要根据具体情况而定。

还有一种情况就是通过优化程序代码完成内存的合理使用,这块内容需要找到程序中消耗内存的地方,减少循环之类的问题。

另外一种情况就是连接未关闭的问题,这个问题也是经常出现的,这块内容需要特别注意,或者引入连接池来做此事情,但是连接池设置的大小也需要特殊情况特殊处理,如果处理不好也会出现连接数过小访问出错的问题。

还有一种情况tomcat会异常退出,可以参见此博客http://ifeve.com/why-kill-2-cannot-stop-tomcat/,这里面提到的问题也是挺有意思,注意sshd关闭引起tomcat关闭问题。

还有一种情况是tomcat配置负载问题导致,这里可以参照http://www.cnblogs.com/shiyangxt/archive/2009/02/26/1398902.html 博客进行配置。

当然,经常使用tomcat的可能会遇到tomcat启动一闪而停的现象,这里可能是因为jdk环境变量配置问题,出现此问题可以先检查jdk环境是否配置好。

tomcat异常退出问题有很多种,需要进行严格的分析,如果后面再有遇到其他种类的异常退出,在及时更新。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

本文由【waitig】发表在等英博客
本文固定链接:TOMCAT异常退出分析和解决方法
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)