linux顶级显示java线程?

jil*_*len 3 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

Dav*_*rtz 6

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

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