确定Linux平台上远程计算机上运行的JVM列表

时间:2012-12-20 21:34:03

标签: java linux rmi jmx

我需要确定在远程计算机上运行的JVM列表,一旦完成,就可以使用JMX连接到每个JVM。我是新手,并且经历了以下概念:
1.使用jps和jstat:我读到这些命令可能在将来的jdk版本中不可用 2.使用java类“virtualmachine()。list”。但问题在于它可以帮助您获取JVM列表,但仅适用于本地计算机。我不知道如何连接到远程计算机,然后获取此列表。

任何人都可以建议如何使用“virtualmachine()。list”或任何其他方法来获取远程计算机上的JVM列表?

问题是我研究连接到远程JVM的所有方法(包括jconsole的工作方式)都集中在SPECIFIC JVM,我需要提供端口号(JVM进程)。但是我需要一个运行所有JVM的列表。我怎样才能做到这一点 ?它甚至可能吗?

2 个答案:

答案 0 :(得分:1)

一种选择是在远程计算机上启动一个小型Java应用程序,让它运行virtualmachine()。list或类似的,然后发回信息或使用JMX使其可访问。此应用程序可能一直在运行,或者您可以远程启动它。

此处提到的其他一些想法:Get System Information of a Remote Machine (Using Java)

答案 1 :(得分:0)

您可以为每个远程JVM添加一个java-agent或其他一些公共组件,并将它们“phone-home”的JMXServiceURL添加到中央JVM清算中心。除此之外,我认为您的唯一选择大致来自monex0的建议。