Come rilevare la velocità della CPU e H.D.D giri in Objective-C o Python
-
29-09-2019 - |
Domanda
Sono nuovo di Objective-C, per un motivo accademica ho bisogno di leggere la velocità della CPU e H.D.D rpm
Qual è il modo più semplice per accedere ad alcune impostazioni di sistema in Objective-C o Python
I può scegliere tra Objective-C e Python per questo progetto.
Soluzione
Questo può ottenere la velocità della CPU riportata per Windows 2000 e fino leggendo il Registro di sistema utilizzando 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
Non so come si fa per altri sistemi operativi, né come ottenere gli RPM HDD però.
Altri suggerimenti
Penso che si dovrebbe utilizzare un modulo C ++ con Python per rilevare la velocità della CPU o RPM di un disco rigido. Calcolare totale utilizzo della CPU potrebbe aiutare voi qui
Non so nulla su Obj-C, quindi non si poteva dire se è possibile con quella lingua!
Controllo velocità della CPU non è davvero una cosa Objective C, è una cosa OS. Su OS X (e presumo iOS) che si desidera guardare sysctlbyname (3) e la proprietà hw.cpufrequency, qualcosa come:
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);
}
Non so un buon modo per ottenere il numero di giri di un disco, ma so un brutto modo. Analizzare l'output del system_profiler, le informazioni sono lì (come "rotazione Rate"):
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: /
V'è probabile un'astrazione meglio usare, solo che non so.