Java/SpringBoot单实例线程数异常飙升问题排查求助
Java/SpringBoot单实例线程数异常飙升问题排查求助
各位大佬好,我这边遇到个生产环境的疑难问题,想请大家帮忙分析下思路。
我们的业务服务基于Java + Spring Boot开发,生产环境一共跑了10个实例——不管是机器硬件配置还是应用的各项参数配置,所有实例都是完全一致的。但最近发现总有单个实例不定期出现线程数异常飙升的情况:
- 正常状态下,所有实例的线程数稳定在600-750区间,线程状态分布大概是:300个等待(WAITING)线程,200个运行(RUNNABLE)线程
- 出问题时,这个异常实例的线程数会涨到1100(比正常水平高了50%),但线程状态的比例居然和正常情况保持一致:600个等待线程,~350个运行线程
目前我已经给线程状态打了日志,观察到了上面这个比例趋势,但还是摸不到根因。现在的临时解决办法就是重启这个异常实例,重启后就能立刻恢复正常,但这个问题大概每个月会发作一次,总靠重启不是长久之计。
想请教下各位:
- 这种线程数成比例增长的情况,可能是哪些原因导致的?
- 除了观察线程状态,我还可以做哪些具体的排查动作来定位根因?
- 有没有可能是某个依赖组件的隐性线程泄漏,或者JVM层面的潜在问题?
麻烦各位大佬不吝赐教,谢谢了!




