首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

经典TOMCAT死掉有关问题

2012-01-10 
经典TOMCAT死掉问题有个JAVA WEB项目运行在 TOMCAT 5.5 + MYSQL + linux 环境下 ,运行几天或一周左右总是

经典TOMCAT死掉问题
有个JAVA WEB项目运行在 TOMCAT 5.5 + MYSQL + linux 环境下 ,运行几天或一周左右总是出问题,具体现象是:访问首页的时候,一直在请求状态,就连静态页面都无法访问,但是又不会出现“该页无法显示”等代表TOMCAT死了的信息。TOMCAT进程也还存在。一直搞不清楚什么原因。由于只是偶然出现问题,因此很难再现,也没有拿到TOMCAT下的相关日志。

今天发贴主要是想问问大家:
1。有什么办法通过写测试程序重现问题?
2。有哪些情况可能导致这种问题发生?
谢谢大家




[解决办法]
这个问题还没碰到过,顶一下吧!期待高手!
[解决办法]
从来没碰到过这种问题
[解决办法]
是不是mysql长时间没请求,重新连接.
[解决办法]
你说的问题我遇到过,IE一直空白页面并且处于请求状态,但IE进度条好像卡死在那里。是这样吧

我遇到这个问题的时候一般都是集群几个tomcat,访问到某一个死掉的tomcat的时候会这样,客户连接到apache 转到 tomcat的时候tomcat死掉了。

但是我一般都可以抓到日志,不清楚你为啥抓不到。

遇到这样的问题,先检查是不是访问的用户态多了,超出了服务器的最大连接数或者并发数。超出的时候会有这样假死的状态,或许真就死了。

或者连接池的链接数达到最高从而使实体层要创建连接或者等待连接而导致的假死状态。

如果上面都排除了就抓抓日志,分析一下在处理那个请求中抛的异常。




[解决办法]
顶一下,学习了,原来tomcat还有这样的情况
[解决办法]
内存使用
cpu使用
用户连接数
有没有线程挂起(数据库)
电脑性能
[解决办法]
没遇到过,学习了!
[解决办法]
这个问题我觉得首先还是跟用户的linux服务器有关吧,也就是你的计算机性能。
其次,那就是数据库的配置了,不知道你的这种情况是在单用户访问时就出现还是在多用户并发访问时出现的?
要是多用户并发访问的话,那就是你的数据库连接池的配置了,
你可以重新配置一下mysql的连接数量,默认的话它是支持20个连接,你可以手动配置一下。
别的,tomcat假死,这种状况我在linux上配置环境时也出现过,不过是我的机子配置的问题,呵呵……


[解决办法]
1.数据库连接问题
2.TCP连接过多
3.TCP短连接过多(和上面的不是一回事)
4.TCP连接没有及时释放(表现为大量的TCP出现WAITING)
5.CPU占用率问题,内存问题(其实就是负载太大,用top命令看看负载指数)

重现这个问题的话,大概可以用任意一款压力测试软件测一下(本质就是起很多个线程而已,自己编写的话,对于多个线程的协调会很复杂,还是用软件吧)
[解决办法]
1 可能出现数据库出现死锁
2内存资源耗尽 
3数据库创建了,未关闭
4 查看日志信息,是否有报错!!
[解决办法]
用的是连接池,不用管有多少个连接,用完一后把它关了就行了,session也关了
[解决办法]

探讨
你说的问题我遇到过,IE一直空白页面并且处于请求状态,但IE进度条好像卡死在那里。是这样吧

我遇到这个问题的时候一般都是集群几个tomcat,访问到某一个死掉的tomcat的时候会这样,客户连接到apache 转到 tomcat的时候tomcat死掉了。

但是我一般都可以抓到日志,不清楚你为啥抓不到。

遇到这样的问题,先检查是不是访问的用户态多了,超出了服务器的最大连接数或者并发数。超出的时候会有这样假死的状态,或许真就死…

[解决办法]
哎,我原来做SSH分页的时候也遇到过相同的问题啊
[解决办法]
探讨
你说的问题我遇到过,IE一直空白页面并且处于请求状态,但IE进度条好像卡死在那里。是这样吧

我遇到这个问题的时候一般都是集群几个tomcat,访问到某一个死掉的tomcat的时候会这样,客户连接到apache 转到 tomcat的时候tomcat死掉了。

但是我一般都可以抓到日志,不清楚你为啥抓不到。

遇到这样的问题,先检查是不是访问的用户态多了,超出了服务器的最大连接数或者并发数。超出的时候会有这样假死的状态,或许真就死…

[解决办法]
80% 是数据库连接满了。你看一下数据库的监控就知道了。
[解决办法]
学习一下!!
[解决办法]
这情况一般和数据库的连接有关
[解决办法]
老紫竹好 数据库监控怎么看? 我用的是SQL SERVER2005 谢了
------解决方案--------------------


我也碰到过这种情况,后来是应为写数据库查询的时候,有个数据库连接没有关掉,导致假死,后来关上就没问题了
[解决办法]
类似的问题我也遇到过,也是Linux系统,tomcat5.5.27,不过我的服务器当掉的时间不确定,有时候是几个月,有的时候是10多天,显示进程都在,网页却连接不上,重启后就好了,没有做集群,或许是连接数满了,或许是其他原因
[解决办法]
我以前有碰到过资源被锁住无法访问 就一直的卡在那

你查查是不是要访问的资源有死锁的情况
[解决办法]
关注
[解决办法]
帮顶下!学习!哈哈!
[解决办法]
我也遇到过这样的类似情况
 
有时候重新启动下就好了,没有刻意的去追究这个问题的原因,首先要感谢LZ提出这么一个好的问题。。。

为LZ的细心而学习。。。。


[解决办法]
连接数超过了最大连接数
[解决办法]
先MARK,再找时间看
[解决办法]
关注
[解决办法]
留个脚印 学习了
[解决办法]
诶,怎么老是有这么多我听都没听过的问题,

你们太打击人了。
[解决办法]
up study
[解决办法]
这种环境下开发还没有遇到这样的问题……
[解决办法]
我碰到的:
1.数据库连接池耗尽,设置一下最大timeout
2.用quarz的时候,多线程也会出现卡死的现象。
[解决办法]
对,这是连接数已经满了, 服务器会不断的去尝试连接,出现假死现象。 通常的解决方案是重起。
[解决办法]
就是想赚点积分,好下东西
[解决办法]
我建议你重新换一个tomcat试试。
[解决办法]
装个Tomcat6.0吧!
[解决办法]
如果没在catalina.out中看到OutOfMemory的话,就是像他们说的连接满了,试试把连接池改为proxool里面配置一个Servlet可以监控到连接情况
[解决办法]
好像以前遇到过。自己去研究看看。
[解决办法]
关注~
[解决办法]
很可能是连接池满了.....
我前段时间碰到了这个问题。
当时修改了几个地方
1:增加tomcat的内存
2:优化数据库和sql语句,有些sql写的效率奇差无比,还有写交叉连接的,我们用的oracle数据库,通过监控,把执行时间>5秒的sql基本都优化了一遍,该加的索引也加上了。
3:原来系统中连数据库的配置在两个地方都有。web.xml配置了一个,spring里还有一个。。。。后来统一用spring的。
4:部分代码直连数据库,打开的conn没有关闭...修改了几个地方。

tomcat原来每天死一次以上,改了以后到现在都没死过了。感觉问题主要还是代码级的。
[解决办法]
也有可能是代码里有很多地方没回收资源
以前帮别人解决过一个类似问题
在服务器开了一个页面,每10分钟执行一次垃圾回收,然后基本没在死过
当然,这只是一种可能性
[解决办法]
你在服务器上使用 netstat -anp(Linux)、netstat -ano(Windows)找到所连接数据库的 IP 地址和端口,看一下具体的连接数量,看看有多少。

如果有很多很多的话,估计是连接没有得到释放。
[解决办法]
tomcat还是玩玩吧,商业一点的应用,喜欢用glassfish之类的
[解决办法]
楼主说的问题我也遇到 过,不过后来,我是通地整理JDK和调一些包来解决的,
出现的情况也就是服务器不报任何错,但是页面就是不出来,就显示 一个404有问题

热点排行