java - weblogic 线程监控显示的操作系统线程数不正确

标签 java multithreading pthreads weblogic

刚刚对我的应用程序进行一些调试,发现了一个相当大的差异。 Weblogic 正在报告(服务器 > 监控 > 线程),时间为 6

但是当我查询操作系统时:

ps -eLF| grep 用户 | grep -c java

linux 显示超过 37 个线程...所以我的第一个问题是,为什么会出现差异?我的第二个问题是如何获得更多信息为什么这些线程是从操作系统启动的?

我问这个问题的原因是我操作系统上的资源已经耗尽,我正在尝试找出巧妙的方法来优化容器而不触及部署在其上的应用程序......

最佳答案

尝试从 JVM 获取线程转储。有很多管理线程:

  • 编译器线程(用于生成机器代码)
  • 垃圾收集器线程(通常每个核心一个线程)
  • 最终队列处理线程
  • JMX 管理监听器

Weblogic 还可能维护一个线程池,并且报告的数量可能不包括池中 hibernate 线程的数量。

关于java - weblogic 线程监控显示的操作系统线程数不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45381562/

相关文章:

java - Java 格式验证数字?

python - 简化Python中的线程

java - 最多运行 n 个 Java 线程

c - CPU缓存对速度的影响

多次调用创建线程的方法

java - 什么情况下就不是线程安全的

java - Gradle - 公司存储库需要 ssl 客户端证书

c# - 如何获得与 Thread.Sleep 支持 double 值类似的结果?

c - 没有引用 pthread_mutex_lock 编译 -lpthread

java - "NOT IN"比 <> 慢很多吗?