Objective-CまたはPythonでCPU速度とHDD RPMを検出する方法
-
29-09-2019 - |
質問
私はObjective-Cに慣れていません。学問的な理由は、CPU速度とHDD RPMを読む必要があります
Objective-CまたはPythonでシステム設定にアクセスする最も簡単な方法は何ですか
このプロジェクトのために、Objective-CとPythonのどちらかを選択できます。
解決
これにより、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を取得する方法はわかりません。
他のヒント
CPU速度またはハードドライブのRPMを検出するには、Pythonを備えたC ++モジュールを使用する必要があると思います。 合計CPU使用量を計算します ここであなたを助けることができます
私はOBJ-Cについて何も知らないので、その言語で可能かどうかはわかりません!
CPU速度をチェックすることは、実際には客観的なCのものではなく、OSのものです。 OS X(および私はiOS)では、sysctlbyname(3)とhw.cpuffrequencyプロパティ、次のようなものを見たいと思います。
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);
}
ディスクドライブのRPMを取得する良い方法はわかりませんが、悪い方法を知っています。 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: /
使用するより良い抽象化がおそらくある可能性があります、私はそれを知りません。
所属していません StackOverflow