2010-11-29 27 views
6

此问题对于Java JVM可能非常基础。如果我有一个Java独立程序,并且例如该程序的5个进程正在服务器的特定时间运行,那么我们可以说这5个Java进程在5个JVM中运行吗?JVM和Java Linux进程

通过过程,我的意思是Linux过程在这里。如果我执行ps -ef |grep java,我会看到5个java进程出现。

+0

http://code.google.com/p/jvmtop/显示所有jvms – MRalwasser 2013-03-14 10:43:34

回答

10

是的,这是正确的。每个java进程都有一个JVM。

+0

我们可以说java进程的数量是否等于所有情况下运行的JVM的数量? – Gnanam 2010-11-29 07:18:44

+2

在正常的Linux安装中,如问题中所述。每个进程尝试多个JVM都有可能的解决方案。例如,请参见[这篇(旧)文章](http://onjava.com/pub/a/onjava/2001/09/25/optimization.html)。 – 2010-11-29 07:26:43

0

取决于JVM和本机库。您可能会在ps中看到JVM线程显示不同的PID。一般来说,子进程PID将具有java进程的父进程PID作为线程。

你不能肯定地说,Linux java进程的数量==#实例化的JVM。

+1

在Linux上,JVM使用真正的本机线程,它与进程*相似。但是,它们并不是一回事,因为只有一个进程拥有自己的地址空间。 – 2010-11-29 07:30:05

4

您可以运行jps命令(如果它不在路径中,则从JDK的bin文件夹中)找出您的计算机上正在运行的Java进程(JVM)。