Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.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
Java 获取远程系统的CPU和内存信息_Java - Fatal编程技术网

Java 获取远程系统的CPU和内存信息

Java 获取远程系统的CPU和内存信息,java,Java,我正在寻找一种使用java来获取远程系统CPU和内存信息的方法。虽然它可以使用windows命令来完成,但它可以放在java程序中。以下是命令 wmic /node:HOSTNAME cpu get loadpercentage 这将为远程系统提供CPU负载 wmic /node:HOSTNAME OS get FreePhysicalMemory 这将为远程系统提供可用内存 wmic /node:HOSTNAME OS get FreePhysicalMemory 但是,有了这些,在ja

我正在寻找一种使用java来获取远程系统CPU和内存信息的方法。虽然它可以使用windows命令来完成,但它可以放在java程序中。以下是命令

wmic /node:HOSTNAME cpu get loadpercentage
这将为远程系统提供CPU负载

wmic /node:HOSTNAME OS get FreePhysicalMemory
这将为远程系统提供可用内存

wmic /node:HOSTNAME OS get FreePhysicalMemory
但是,有了这些,在java中使用
Runtime.getRuntime().exec
时,我必须依赖windows命令

是否有任何java本机库可以完成这项工作


谢谢

不,Java本机无法做到这一点。如果你想要一个纯Java的解决方案,你必须在你想要获取信息的机器上运行Java应用程序。从中央机器上,一个单独的Java应用程序(或任何其他类型的客户机)可以连接到各个机器上的Java应用程序


这样做(可能不可接受)的缺点是,您必须在所有客户机上安装此Java应用程序。在这一点上,使用wmic可能会更好。

如果你的方法有效,为什么要用另一种方法来尝试呢?我无法想象没有使用外部命令就可以获得您想要的信息的任何其他方式……如果有人没有安装wmic或任何其他问题,上述方法取决于系统!
System.getProperties()列表(System.out)提供有关操作系统的最少信息。而
运行时
提供了更多功能。选中@learningloop,它将只显示当前系统信息,但我需要远程系统信息。您需要能够远程执行命令,例如
ssh
,否则您无法执行此操作,因为这是安全性旨在防止的事情。