TOMCAT内存溢出后什么情况下TOMCAT死掉什么情况下不会死掉?

上一篇 / 下一篇  2017-07-19 11:23:17

TOMCAT内存溢出后什么情况下TOMCAT死掉什么情况下不会死掉?

我最近做压力测试,TOMCAT老崩溃。观查发现一个不解的问题,后台报内存益出后,TOMCAT并不一定死,但压力太大时TOMCAT过一会就会死掉,有时甚至死的用JSVC都关不掉,只能kill -9来解决。我疑惑的是,什么情况下TOMCAT才会真正死掉? 

我觉得TOMCAT能抗多大压力只是一方面,我希望即使它处理不了过多并发,至少别僵死,压力过后要能正常服务。 

网上讨论TOMCAT崩溃的贴子不少,但都只是分析项目中的问题,没有看到谁详细讲解TOMCAT死掉的直接原因。 

发此贴前最后一次测试的结果是这样的,第一个OutOfMemory之后,TOMCAT还可以正常服务,过了好一会儿,又蹦了两个OutOfMemory,然后JK就报processCallbacks status 2了,TOMCAT无法访问。
问题补充:
pJun的猜测有些道理。当然,我的测试也并非十分严谨,tail -f看日志有延时,浏览器、APACHE有没有用缓存欺骗我也不好说,我只能说以我的经验来看读到缓存的可能很小,另外报OOM也分了两种情况,一种是java heap的,一种是GC limit exceed。我不是专业搞测试的,想真正严谨地测这堆东西太麻烦了。不过TOMCAT假死、真死、死到关不掉这三种情况我想大家都碰到过。明确地说,我想知道的问题如下: 

1、TOMCAT死掉的直接原因(包括三种情况)有哪些; 
2、有没有办法避免后两种情况(JAVA的东西OOM之后只能死掉吗?)

TAG:

 

评分:0

我来说两句

日历

« 2024-03-27  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 80366
  • 日志数: 94
  • 文件数: 1
  • 建立时间: 2017-04-14
  • 更新时间: 2020-11-17

RSS订阅

Open Toolbar