立即达到Tomcat maxThreads:什么在线程池中使用这些线程

时间:2013-12-11 11:46:36

标签: java apache tomcat threadpool

我们遇到currentThreadCount和currentThreadsBusy在90左右稳定的情况。然后发生非常急剧的增加,直到maxThreads(200)发生,这基本上使得系统对新请求无用。 问题:如何查看使用线程的内容? 基本上是哪些类使用线程。 是否也可以回顾性地看到这一点?


注意潜在问题: 并且可以排除攻击。还有其他提案可能会发生什么

  • 由于某些原因,DB可能无法释放线程
  • 很少使用的功能可能会无法运行,生成无尽的请求

另请注意,问题在大约20分钟后消失,这恰好是会话超时。

2 个答案:

答案 0 :(得分:0)

如果您的Tomcat在Linux服务器下运行,您可以使用命令kill -3 [pid of your webapp]检查所有正在运行的线程,具体取决于您的webapp。它会在你的webapp的catalina.out中转储所有当前线程及其状态(也可能是它们挂起的位置)。

答案 1 :(得分:0)

使用glowroot之类的Java代理来详细了解线程的工作。