Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java weblogic线程监视显示的线程数与操作系统线程数不正确_Java_Multithreading_Pthreads_Weblogic - Fatal编程技术网

Java weblogic线程监视显示的线程数与操作系统线程数不正确

Java weblogic线程监视显示的线程数与操作系统线程数不正确,java,multithreading,pthreads,weblogic,Java,Multithreading,Pthreads,Weblogic,在对我的应用程序进行调试时,发现了一个很大的差异。Weblogic正在6点钟报告(服务器>监视>线程) 但当我查询操作系统时: ps-eLF | grep用户| grep-cjava linux显示37多个线程。。。所以我的第一个问题是,为什么会有差异?我的第二个问题是如何获得更多信息,为什么这些线程是从操作系统启动的 我问这个问题的原因是,我在操作系统上的资源已经用完了,我正试图找出一些聪明的方法来优化容器,而不必涉及部署在容器上的应用程序…尝试从JVM获取线程转储。有许多管理线程: 编译器

在对我的应用程序进行调试时,发现了一个很大的差异。Weblogic正在6点钟报告(服务器>监视>线程)

但当我查询操作系统时:

ps-eLF | grep用户| grep-cjava

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


我问这个问题的原因是,我在操作系统上的资源已经用完了,我正试图找出一些聪明的方法来优化容器,而不必涉及部署在容器上的应用程序…

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

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

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

是否有任何方法可以优化容器使用的至少一些线程?其中有好几十(12)个是:“[STANDBY]ExecuteThread:'x'代表队列:'weblogic.kernel.Default(自调优)”,我真的很想找到一种方法来减少线程总数,即使减少20-25%,我会参考有关Websphere调优的参考资料。我找到了这个。对不起,我不知道它有多有用。