Tomcat maxThreads立即到达:正在使用线程池中的这些线程的内容

问题描述 投票:0回答:2

我们有这样的情况,currentThreadCount和currentThreadsBusy在90左右。然后急剧增加直到出现maxThreads(200),这基本上使系统无法用于新请求。问题:如何查看正在使用的线程?基本上,哪些类正在使用线程。是否也可以追溯查看此内容?


注意基本问题:并且可以排除攻击。还有其他建议可能会发生]

    DB由于某些原因可能不会释放线程
  • 很少使用的功能可能运行不正常,生成无数次请求
  • 还要注意,问题在大约20分钟后消失,这恰好是会话超时。

我们的情况是currentThreadCount和currentThreadsBusy稳定在90附近。然后急剧增加,直到出现maxThreads(200),这基本上使系统对...无用。]]

java apache tomcat threadpool
2个回答
0
投票
如果您的Tomcat在Linux服务器上运行,则可以使用命令kill -3 [pid of your webapp]来检查所有正在运行的线程,具体取决于您的Web应用程序。它将所有当前线程及其状态(以及它们挂起的位置)转储到您的Web应用程序的catalina ..中。

0
投票
使用诸如glowroot之类的Java代理详细了解线程的工作。
© www.soinside.com 2019 - 2024. All rights reserved.