Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.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
JVM与javalinux进程_Java_Linux_Multithreading_Jvm - Fatal编程技术网

JVM与javalinux进程

JVM与javalinux进程,java,linux,multithreading,jvm,Java,Linux,Multithreading,Jvm,这个问题可能是关于Java JVM的基本问题。如果我有一个Java独立程序,例如,如果这个程序的5个进程在服务器中的某个特定时间运行,我们能说这5个Java进程在5个JVM中运行吗 这里的进程是指Linux进程。如果我执行ps-ef | grep java,我将看到5个java进程出现。是的,这是正确的。每个java进程有一个JVM。取决于JVM和本机lib。您可能会看到JVM线程在ps中显示不同的PID。一般来说,子PID将具有与线程相同的java进程的父PID 你不能确定Linux java

这个问题可能是关于Java JVM的基本问题。如果我有一个Java独立程序,例如,如果这个程序的5个进程在服务器中的某个特定时间运行,我们能说这5个Java进程在5个JVM中运行吗


这里的进程是指Linux进程。如果我执行ps-ef | grep java,我将看到5个java进程出现。

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

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


你不能确定Linux java进程的#是否等于实例化JVM的#。

你可以运行
jps
命令(从JDK的bin文件夹中,如果它不在你的路径中)来找出哪些java进程(JVM)正在您的机器上运行。

在正常的Linux设置中,我们可以说#的java进程数等于#的JVM数吗?如您的问题中所述。对于每个进程尝试多个JVM,有可能的解决方案。例如,在Linux上,JVM使用真正的本机线程,这与进程类似。然而,它们不是一回事,因为只有一个进程有自己的地址空间。我想你可以肯定地说(进程计数等于JVM计数),而不管
ps
输出。@Gnanam:你会发现
jps
命令在另一种情况下很有用。它通常用于查找java进程的进程id,该id可以传递给VisualVM(使用
jvisualvm
comamnd调用)或
jhat
实用程序之类的探查器,以进行堆转储。再次感谢您让我知道另一个堆分析工具的存在。显示所有JVM