Как обнаружить скорость процессора и HDD RPM в Objective-C или Python
-
29-09-2019 - |
Вопрос
Я новичок в Objective-C, по академической причине мне нужно читать скорость процессора и RPM HDD
Какой самый простой способ получить доступ к некоторой настройке системы в Objective-C или Python
Я могу выбрать между Objective-C и Python для этого проекта.
Решение
Это может получить сообщенную скорость процессора для Windows 2000 и вверх, прочитав реестр с использованием Python:
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
Я не знаю, как это сделать для других операционных систем, ни как получить RPMS HDD.
Другие советы
Я думаю, вам придется использовать модуль C ++ с Python для обнаружения скорости CPU или RPM жесткого диска. Рассчитать общее использование ЦП мог помочь вам здесь
Я ничего не знаю о OBJ-C, поэтому не мог сказать вам, что можно с этим языком!
Проверка скорости процессора на самом деле не является объективной вещью C, это ОС. На ОС X (и я предполагаю, что iOS) вы хотите посмотреть на SysctlbyName (3) и свойство HW.cprequency, что-то вроде:
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: /
Вероятно, есть лучшая абстракция, я просто не знаю этого.