SpringBoot项目线程一直累加,没有进行回收的问题分析记录

问题

平时空闲时间,一直给朋友维护一个SpringBoot项目。随着业务发展,朋友经常反馈服务经常崩溃,无法正常访问。通过jvm自带的jconsole观察到,该项目自从启动后,线程数量一直出于不断增加的趋势,没有线程回收的迹象,如下图所示:
SpringBoot项目线程一直累加,没有进行回收的问题分析记录_第1张图片
由此诊断,线程的不回收导致随着时间延长,大量的系统资源被占用,后续的请求线程无法创建,导致服务崩溃。

分析

我们需要找到线程没有回收的原因。由于该项目是运行windows服务器,我们采用jvm自带的jvisualvm进行导出线程的堆日志。

cmd,输入以下命令:

jvisualvm

回车确认,打开了进入jvisualvm监控页面。
SpringBoot项目线程一直累加,没有进行回收的问题分析记录_第2张图片

你可能感兴趣的:(Java,开发笔记,java,spring,spring,boot)