二开空闲线程不断累加导致系统线程池满

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

二开空闲线程不断累加导致系统线程池满

适用版本

通用


问题描述

系统线程池已配置65536但过一段时间就会被占满。


原因分析:

执行命令  ps -eL | awk '{print $1}' | sort |uniq -c | sort -nr | head 进行监控,找到消耗线程池最高的进程,进程号为36740

通过命令 pwdx 36740 可获取该进程的调用路径,判断是实例的java进程,于是进入jdk的bin目录下执行 ./jstack 36740 > /tmp/javacore.txt 线程堆栈,使用jca工具打开如下

发现大量com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)

相关线程,于是使用云巡检工具中的类位置查找工具进行搜索,发现类com.mchange.v2.async.ThreadPoolAsynchronousRunner所在jar包为二次开发相关jar包。

解决方法:

由二次开发相关人员修改相应代码逻辑,在使用完线程后主动进行释放。


二开空闲线程不断累加导致系统线程池满

适用版本通用问题描述系统线程池已配置65536但过一段时间就会被占满。原因分析:执行命令 ps -eL | awk '{print $1}' | s...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息