Obiettivo: aggiornare il prompt dei comandi del terminale con le statistiche sull'utilizzo della CPU dall'ultima richiesta apparso, ad esempio jeremy@Mac:57%CPU|~/ $
Ricerca: so su Linux, iostat
legge /proc/stat
e cerca le modifiche tra i controlli per fornire informazioni accurate. Ho usato qualcosa come il seguente su CentOS:
local cur_tick_total=$(awk 'FNR == 1 {sum=0; for (i=2; i<=NF; i++) {sum+=$i} printf "%.0f\n", sum}' /proc/stat)
local cur_tick_idle=$(awk 'FNR == 1 {print $5}' /proc/stat)
local delta_tick_total=$(( $cur_tick_total - $__prev_tick_total ))
local delta_tick_idle=$(( $cur_tick_idle - $__prev_tick_idle ))
local percent_idle=$(( $delta_tick_idle * 100 / $delta_tick_total ))
__cpu=$(( 100 - $percent_idle ))
Domanda: come posso farlo su Mac? Se iostat
funziona allo stesso modo di Linux, deve leggere da qualche parte in questo modo, ma /proc/stat
non esiste su Mac. Voglio sapere dove sembra essere in grado di leggere da quella posizione come parte del mio PS1
.
Modifica: l'output di iostat
non funziona per i miei scopi, poiché emette o carico di sistema medio, che è un numero senza senso o% di utilizzi della CPU dal momento dell'avvio del sistema, che non mi è di aiuto. Voglio una metrica di utilizzo della CPU più istantanea che posso ottenere istantaneamente tramite la riga di comando.