Tomcat的Thread超限导致无反应的问题?

pigzoo 2008-01-23 08:14:12
tomcat 5.0运行一段时间后,无反应,检查tomcat日志发现:
严重: All threads (1,000) are currently busy, waiting. Increase maxThreads (1,000) or check the servlet status

此前监控tomcat的server状态,看到长时间无反应的http链接在里面:
Max threads: 1000 Min spare threads: 35 Max spare threads: 95 Current thread count: 1000 Current thread busy: 913
Max processing time: 1868913 ms Processing time: 383502 s Request count: 36213191 Error count: 5282735 Bytes received: 643.52 MB Bytes sent: 10893.76 MB

Stage Time B Sent B Recv Client VHost Request
S 1320808 ms 0 KB 0 KB 218.18.25.15 x.x.x.x POST /service/call HTTP/1.1
S 1344484 ms 0 KB 0 KB 222.131.53.123 x.x.x.x POST /service/call HTTP/1.1
S 1356884 ms 0 KB 0 KB 222.132.154.246 x.x.x.x POST /service/call HTTP/1.1
S 1344608 ms 0 KB 0 KB 221.220.31.101 x.x.x.x POST /service/call HTTP/1.1
...

请问各位高手,这个现象一般是什么引起的呢?我的tomcat的最大Thread已经是1000了,感觉是很多死线程在里面不释放。
谢谢!
...全文
1106 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dong_quan 2008-07-10
  • 打赏
  • 举报
回复
出现这个问题比较头痛。我遇到过

我的项目很大 代码很多 也很繁琐。懒得看


我设置了个计划任务。凌晨重启tomcat。还有就是 在一下经常调用外界资源的方法(读取SAP函数、读取大文件、读取负荷量大的数据库)最后加上 垃圾回收 sysytem.gc();

到现在没发现什么问题。
night__cat 2008-06-30
  • 打赏
  • 举报
回复
可以线程共享
wolma 2008-06-19
  • 打赏
  • 举报
回复
tomcat不是有session超时的吗?为什么他这么多线程关不掉?
我遇到过自己程序进程没有释放占用的内存,tomcat会关掉session,导致在连接的时候session会重新建立连接又申请内存,导致outofmemory。
这个竟然连线程都不会被关掉。
  • 打赏
  • 举报
回复
学习,帮你顶!
guoqiangone 2008-02-02
  • 打赏
  • 举报
回复
up
老紫竹 2008-02-02
  • 打赏
  • 举报
回复
1 你确信你的Tomcat没有其它你的程序调用吗? 也就是自己的其它攻击自己了!
2 查看你的程序是否有URLConnection的代码,而且是调用的自己网站程序,并且忘了关闭连接。 这个是自杀。
z3h 2008-01-23
  • 打赏
  • 举报
回复
通过Dump java的线程轨迹,看看java线程在什么地方死锁。
一般的经验可能是数据库连接池的问题(如果有的话)。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧