如何在java中获取cpu类型?

时间:2014-04-08 12:56:48

标签: java processor

我想在java程序中检索处理器类型(比如“Ivy bridge”)。我寻找一些系统命令,如:

System.out.println(System.getenv("PROCESSOR_IDENTIFIER"));
System.out.println(System.getenv("PROCESSOR_ARCHITECTURE"));
System.out.println(System.getenv("PROCESSOR_ARCHITEW6432"));
System.out.println(System.getenv("NUMBER_OF_PROCESSORS"));

但我找不到我想要的东西。

2 个答案:

答案 0 :(得分:1)

您可以查询注册表。这可以通过JNA轻松完成。仅适用于Windows。

import com.sun.jna.platform.win32.Advapi32Util;
import static com.sun.jna.platform.win32.WinReg.HKEY_LOCAL_MACHINE;

    public class GetCPUInfosUsingJNA {

        // https://github.com/twall/jna#readme
        //  you need 2 jars : jna-3.5.1.jar and platform-3.5.1.jar

        public static void main(String ... args) {
          System.out.println(Advapi32Util.registryGetStringValue
             (HKEY_LOCAL_MACHINE,
                "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0\\",
              "ProcessorNameString"));   
          System.out.println(Advapi32Util.registryGetStringValue
                  (HKEY_LOCAL_MACHINE,
                     "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0\\",
                   "Identifier"));        
        }
    }

答案 1 :(得分:0)

如果您使用的是windows,请使用jawin访问win32 api,并使用linux发行版读取/ proc / cpuinfo并解析它。