如何使用Java获取处理器名称和注册信息?

7

我们如何通过Java获取PC的处理器名称和注册信息?我使用的是Windows操作系统。

请参考下面的图片。

enter image description here


2
“registered to informations from PC”是什么意思?您是指来自操作系统安装的注册信息吗?请详细说明,并指明您考虑的操作系统。 - sleske
你需要它用来做什么? - Thorbjørn Ravn Andersen
@Sleske: 请看这里。我是在询问Windows PC相关的问题。 - bharath
1
感谢澄清。请编辑您的问题以包含新信息。并非每个人都会阅读所有评论。 - sleske
2个回答

7

如何通过Java实现?

一般而言,在Java中这是不可能实现的。你需要通过外部程序(参见ProcessBuilder)或本地库(例如C++编写)来实现。

你可以这样做:

System.getProperty("os.arch");

获取操作系统架构的方法如下。在我的机器上,它返回"amd64"

这个页面列出了一些其他的系统属性,但这些似乎是虚拟机特定的。

sun.cpu.endian=little
sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86

6

有一个名为Sigar的库可以完成所有这些花哨的事情。

Sigar jar可以被称为“独立的”,以探索系统:

$ java -jar sigar.jar
sigar> free
             total       used       free
Mem:       8388608    7940428     448180
-/+ buffers/cache:    5872060    2516548
Swap:       262144      95296     166848
RAM:        8192MB

为了使其工作,您还需要在类路径中具有相应的.dll或.so文件

RHQ-project中,我们使用Sigar来获取许多这些统计信息 - 您可以在此处浏览代码。


1
我们如何使用Siger获取精确的RAM大小? - bharath

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接