代码之家  ›  专栏  ›  技术社区  ›  Nasser Hadjloo

如何在objective-c或python中检测CPU速度和H.D.D rpm

  •  0
  • Nasser Hadjloo  · 技术社区  · 15 年前

    访问objective-c或python中某些系统设置的最简单方法是什么

    对于这个项目,我可以在objective-c和python之间进行选择。

    3 回复  |  直到 12 年前
        1
  •  1
  •   cryo    15 年前

    这可以通过使用python读取注册表来获得Windows 2000和更高版本的报告CPU速度:

    import _winreg
    
    key = _winreg.OpenKey(
        _winreg.HKEY_LOCAL_MACHINE,
        r"HARDWARE\DESCRIPTION\System\CentralProcessor\0")
    
    value, type = _winreg.QueryValueEx(key, "~MHz")
    print 'CPU speed is:', value
    

    但我不知道如何在其他操作系统上实现,也不知道如何获得HDD-rpm。

        2
  •  2
  •   Community Mohan Dere    9 年前

    我认为你必须使用一个带有Python的C++模块来检测硬盘的CPU速度或RPM。 Calculate total CPU usage 能帮到你吗

        3
  •  1
  •   Stripes    15 年前

    int hz;
    size_t hz_size = sizeof(hz);
    int rc = sysctlbyname("hw.cpufrequency", &hz, &hz_size, NULL, 0);
    if (0 == rc) {
        fprintf(stderr, "Clockspeed is %d hz\n", hz);
    }
    

    我不知道如何获得磁盘驱动器的转速,但我知道一个不好的方法。分析system_profiler的输出,信息在其中(作为“旋转速率”):

        Hitachi HTS543232L9SA02:
    
          Capacity: 320.07 GB (320,072,933,376 bytes)
          Model: Hitachi HTS543232L9SA02                 
          Revision: FB4AC50F
          Serial Number: (omitted)
          Native Command Queuing: Yes
          Queue Depth: 32
          Removable Media: No
          Detachable Drive: No
          BSD Name: disk0
          Rotational Rate: 5400
          Medium Type: Rotational
          Partition Map Type: GPT (GUID Partition Table)
          S.M.A.R.T. status: Verified
          Volumes:
            Macintosh HD:
              Capacity: 319.73 GB (319,728,959,488 bytes)
              Available: 12.4 GB (12,397,940,736 bytes)
              Writable: Yes
              File System: Journaled HFS+
              BSD Name: disk0s2
              Mount Point: /
    

    可能有更好的抽象可以使用,我只是不知道。