在Java中是否可以识别可用的总CPU速度以及总系统内存?网络的网络连接速度也很棒。
答案 0 :(得分:3)
这实际上取决于您的操作系统,因为Java会告诉您关于底层机器的 little 。不幸的是,您必须根据您的操作系统使用不同的方法。
如果您使用的是Linux,请查看/proc/cpuinfo
文件系统以获取CPU信息。 /proc
通常有丰富的信息。网络(IO)将通过命令ifconfig
反映出来。
如果你在Windows上,一个有用的工具是WMI,它提供对各种低级硬件统计数据的访问。您可以通过CScript运行WMI脚本。 Here's a page of examples个WMI脚本。
答案 1 :(得分:2)
也许SIGAR可以提供您需要的一些东西。
答案 2 :(得分:1)
Properties p = System.getProperties();
p.list(System.out);
System.out.print("Total CPU:");
System.out.println(Runtime.getRuntime().availableProcessors());
System.out.println("Max Memory:" + Runtime.getRuntime().maxMemory() + "\n" + "available Memory:" + Runtime.getRuntime().freeMemory());
System.out.println("os.name=" + System.getProperty("os.name"));
尝试上面
答案 3 :(得分:0)
内存统计信息可从Runtime对象获得。然后看一下jconsole,一个图形客户端,它提供有关支持JMX的Java虚拟机的信息。它显示了很多信息,包括CPU使用情况,因此您也可以编写自己的客户端来访问JMX信息。
答案 4 :(得分:-4)