Cómo detectar la velocidad de la CPU y las rpm H.D.D en Objective-C o Python
-
29-09-2019 - |
Pregunta
Soy nuevo en Objective-C, por una razón académica Necesito leer la velocidad de la CPU y H.D.D rpm
¿Cuál es la forma más sencilla de acceder a algunos ajustes del sistema en Objective-C o Python
Me puede elegir entre Objective-C y Python para este proyecto.
Solución
Esto puede obtener la velocidad de la CPU reportado para Windows 2000 y por la lectura del registro utilizando 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
No sé cómo hacerlo para otros sistemas operativos, ni cómo obtener las rpm de disco duro sin embargo.
Otros consejos
Creo que tendría que utilizar un módulo de C ++ con Python para detectar la velocidad de la CPU o RPM de un disco duro. Calcular total de uso de la CPU podría ayudar aquí
No sé nada acerca de Obj-C, por lo que no se podría decir si es posible con ese idioma!
Control de la velocidad de la CPU no es realmente una cosa Objective C, que es una cosa OS. En OS X (y supongo IOS) que desea buscar en sysctlbyname (3) y la propiedad hw.cpufrequency, algo como:
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);
}
No sé una buena manera de obtener las RPM de una unidad de disco, pero sí sé una mala manera. Analizar la salida de system_profiler, la información está ahí (como "Tasa de rotación"):
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: /
No es un mejor uso de la abstracción, sólo que no sé.