刚刚对我的应用程序进行一些调试,发现了一个相当大的差异。 Weblogic 正在报告(服务器 > 监控 > 线程),时间为 6
但是当我查询操作系统时:
ps -eLF| grep 用户 | grep -c java
linux 显示超过 37 个线程...所以我的第一个问题是,为什么会出现差异?我的第二个问题是如何获得更多信息为什么这些线程是从操作系统启动的?
我问这个问题的原因是我操作系统上的资源已经耗尽,我正在尝试找出巧妙的方法来优化容器而不触及部署在其上的应用程序......
最佳答案
尝试从 JVM 获取线程转储。有很多管理线程:
- 编译器线程(用于生成机器代码)
- 垃圾收集器线程(通常每个核心一个线程)
- 最终队列处理线程
- JMX 管理监听器
Weblogic 还可能维护一个线程池,并且报告的数量可能不包括池中 hibernate 线程的数量。
关于java - weblogic 线程监控显示的操作系统线程数不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45381562/