介绍
OSHI是一个免费的基于jna(本机)的Java操作系统和硬件信息库。它不需要安装任何额外的本机库,旨在提供一个跨平台的实现来检索系统信息,如操作系统版本、进程、内存和CPU使用情况、磁盘和分区、设备、传感器等。
导入POM依赖
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>6.4.6</version>
</dependency>
示例代码
public void testGetCpuInfo() {
SystemInfo systemInfo = new SystemInfo();
HardwareAbstractionLayer hardware = systemInfo.getHardware();
CentralProcessor processor = hardware.getProcessor();
String cpuName = processor.getProcessorIdentifier().getName();
System.out.println("CPU Name is "+cpuName);
Integer coreNum = processor.getLogicalProcessorCount();
System.out.println("CPU core num is "+coreNum);
// 主频单位为GHz
Float maxFrequency = (float) (processor.getMaxFreq() / 1000000000.0);
System.out.println("CPU max frequency is "+maxFrequency);
String instructionSet = processor.getProcessorIdentifier().getMicroarchitecture();
System.out.println("CPU instruction set is "+instructionSet);
}
执行结果
CPU Name is AMD Ryzen 7 4800U with Radeon Graphics
CPU core num is 16
CPU max frequency is 1.797
CPU instruction set is unknown