C'è un modo per vedere la frequenza corrente della CPU in macOS dal terminale (non il dispositivo di alimentazione Intel)

11

Sono a conoscenza di queste risposte:

link

Visualizza l'attuale velocità di una CPU in OS X?

Che si riferiscono a Intel Power Gadget come metodo per ottenere la frequenza attuale della CPU, esiste un programma / metodo per ottenere queste informazioni dal terminale?

sysctl hw.cpufrequency mostra solo la frequenza nominale della CPU, cioè ciò che il produttore ha dichiarato. Non considera Turbo Boost o frequenze più basse quando la CPU è inattiva. (Ad esempio, se la CPU è i5, 1.4GHz, sarà sempre 1.4GHz)

La soluzione C fornita da SO utilizzando sysctl.h ha lo stesso effetto.

    
posta amanusk 29.06.2018 - 10:23
fonte

3 risposte

4

Dato che il tuo commento menziona che sei davvero concentrato sull'attivazione di Terminal (o più esattamente non sul desktop) ...

Penso che Intel Power Gadget ti aiuterà a ottenere le tue informazioni da Terminal. Da Intel :

Intel® Power Gadget also provides a C/C++ Application Programming Interface (API) for accessing this power and frequency data in your program; the API is supported on Windows and Mac OS X. For more information on the API's, see:

E sulla stessa pagina, anche un link a Utilizzo dell'API Intel Power Gadget su Mac OS X

Spiacenti, questo non è un collegamento a una soluzione pronta per l'uso; Ho trascorso alcuni minuti con google per vedere se potevo trovare qualcuno che lo ha già fatto senza fortuna.

    
risposta data 03.07.2018 - 20:57
fonte
2

Prova top -F -n0 -s3 | grep "CPU usage"

top visualizza e aggiorna le informazioni ordinate sui processi
-F non calcola le statistiche sulle librerie condivise (framework)
-n0 mostra i processi zero (perché non siamo interessati a loro)
-s3 aggiornamento ogni 3 secondi (il valore predefinito è 1)
grep ci mostra solo la riga contenente la frase Utilizzo CPU

Esempio di output:

$ top -F -n0 -s3 | grep "CPU usage"
CPU usage: 9.36% user, 20.0% sys, 70.63% idle 
CPU usage: 8.35% user, 8.19% sys, 83.45% idle 
CPU usage: 8.18% user, 7.77% sys, 84.4% idle 
CPU usage: 5.89% user, 8.1% sys, 86.8% idle

Potresti anche analizzare l'output per la visualizzazione altrove.

Tieni presente che top richiede molte risorse mentre è in esecuzione.

Modifica: Ah, vuoi la frequenza. So che iStat Menus deve installare un helper per ottenere le informazioni in tempo reale.

    
risposta data 05.07.2018 - 12:54
fonte
1

Devo pensare che questa sia una piccola domanda su X Y in "Che cosa hai intenzione di fare una volta ottenuto questo numero?" e voglio rispondere direttamente, ma tuffiamoci un po 'in quello che stai cercando di misurare. Gli interrupt della CPU su macOS sono modellati in intervalli di 150 ms e gran parte di questo dettaglio è pubblico dal WWDC 2013 e successivamente in power management, App Nap ( La sessione 209 in particolare è sia buona che accessibile ) e ottimizzazioni della durata della batteria su macOS.

PoichéilcodiceeciascuncorediunaCPUpossonoecambierannocentinaiadivoltealsecondoinbaseafattoridicaricoeffimeri,ottimizzazionidipotenzacheconsideranociòcheèvisibilesulloschermo,qualidatidiretearrivano,l'ideacheunmodernoLaCPUhapersinounafrequenzadiclock"comune" in qualsiasi momento e sembra semplificare enormemente la realtà . Con 8 core su molti MacBook Pro e dozzine di core su iMac Pro: stai facendo bollire un sacco di complessità fino a un solo numero.

Gli incrementi quando un singolo core può funzionare su un clock sono meno suscettibili di essere facilmente misurati, ma puoi misurare il throttling termico in modo molto semplice con il logging termico di pmset .

pmset -g therm

Ovviamente puoi registrare le modifiche spontanee alla limitazione termica della CPU con pmset -g thermlog e quindi mappare le specifiche della CPU se puoi raccoglierle altrove.

    
risposta data 07.07.2018 - 01:21
fonte

Leggi altre domande sui tag