linux顶级显示java线程?

时间:2011-12-20 00:57:09

标签: java linux multithreading

在linux服务器(fedora)中,我们运行一个JBOSS Application Server,我们使用quartz来安排我们的任务。 昨天,

  

我使用top命令查看进程状态

     

显示多个名为 Java 且具有不同pid的进程。

但是如果我使用ps aux | grep java只显示一个java进程(Jboss AS)? 所以我的问题是:

  

java线程是映射到本机linux线程(克隆进程),还是top没有显示线程?

ENV:

  1. Kernerl:2.6.18
  2. JDK:1.6.0-23

1 个答案:

答案 0 :(得分:6)

这取决于您的各种工具的版本。最有可能的是,您的top版本无法理解Linux上线程和进程之间的关系,导致它错误地将每个线程显示为自己的进程。 Java线程的实现取决于您的VM,但现代JVM和Linux版本的典型实现是1对1,也就是说,每个Java线程都是由clone系统调用创建的Linux KSE。 p>

如果你有一个在过去三年内推出的Linux发行版,你不应该有这个问题。