在linux服务器(fedora)中,我们运行一个JBOSS Application Server,我们使用quartz来安排我们的任务。 昨天,
我使用top命令查看进程状态
显示多个名为 Java 且具有不同pid的进程。
但是如果我使用ps aux | grep java只显示一个java进程(Jboss AS)? 所以我的问题是:
java线程是映射到本机linux线程(克隆进程),还是
top
没有显示线程?
ENV:
答案 0 :(得分:6)
这取决于您的各种工具的版本。最有可能的是,您的top
版本无法理解Linux上线程和进程之间的关系,导致它错误地将每个线程显示为自己的进程。 Java线程的实现取决于您的VM,但现代JVM和Linux版本的典型实现是1对1,也就是说,每个Java线程都是由clone
系统调用创建的Linux KSE。 p>
如果你有一个在过去三年内推出的Linux发行版,你不应该有这个问题。