首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在创建未知线程池

正在创建未知线程池
EN

Stack Overflow用户
提问于 2018-08-29 13:58:17
回答 1查看 92关注 0票数 1

我们有spring boot微服务和几个库作为依赖。例如Jest (弹性搜索),Hikari,Spring-Rabbit,FasterXml等等。

在分析线程转储之后,我们发现创建了2个未知池。在普通的开发机器上,这些池包含8到10个线程。但在prod环境中,我们观察到每个池都有66个线程。线程池名称是自动生成的,如pool-7、pool-2等。

我们想要找出是哪个java类/库创建了这个线程池并产生了线程。尝试使用oracle飞行记录器,但即使在那里,我们也看不到这些线程的来源。

有没有人能建议一下找出是谁创建了这些帖子?

谢谢,斯米塔

EN

回答 1

Stack Overflow用户

发布于 2018-08-30 06:36:15

不幸的是,飞行记录器中的威胁启动事件没有记录来自Thread#start方法的堆栈跟踪。我将看看是否可以将其添加到未来的JDK版本中。但是,您应该能够看到启动新线程的线程。

如果您找不到其他工具来帮助您,我能想到的唯一方法就是自己插装java.lang.Thread#start方法。使用字节码插装,或者只是克隆OpenJDK,修改java.lang.Thread的源文件并构建您自己的自定义JDK。最后一步听起来可能让人望而生畏,但如果您使用的是JDK 8或更高版本,那么这并不难。

代码语言:javascript
复制
hg clone http://hg.openjdk.java.net/jdk8/jdk8
cd jdk8
bash get_source.sh
bash configure
make images

当您克隆时,根目录中有一个自述文件,如果您遇到问题,它将为您提供进一步的说明。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52070402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档