我需要确定远程机器上运行的 JVM 列表,完成后,使用 JMX 连接到每个 JVM。我是新手,经历过以下概念:
1.使用jps和jstat:我读到这些命令可能在未来的jdk版本中不可用。
2. 使用 java 类“virtualmachine().list”。但问题在于它可以帮助您获取 JVM 列表,但仅限于本地机器。我不知道如何连接到远程机器然后获取此列表。
谁能建议如何使用“virtualmachine().list”或任何其他方法来获取远程机器上的 JVM 列表?
问题是我研究过的所有连接到远程 JVM 的方法(包括 jconsole 的工作方式)都集中在一个特定的 JVM 上,我需要在其中提供(JVM 进程的)端口号。但我需要所有正在运行的 JVM 的列表。我怎样才能做到这一点 ?有可能吗?
最佳答案
一种选择是在远程机器上启动一个小型 Java 应用程序并让它运行 virtualmachine().list 或类似的程序,然后发回信息或使用 JMX 使其可访问。该应用程序可以一直运行,或者您可以远程启动它。
这里提到的一些其他想法:Get System Information of a Remote Machine (Using Java) .
关于java - 确定 Linux 平台上远程机器上运行的 JVM 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13980832/