Puoi scrivere il tuo script che utilizza ps
per elencare tutti i processi nello stato eseguibile/eseguibile senza un bel valore maggiore di 0. La sintassi specifica che devi usare differirà in base alla tua versione di ps
. Qualcosa del genere potrebbe funzionare:
ps -eo state,nice | awk 'BEGIN {c=0} $2<=0 && $1 ~ /R/ { c++ } END {print c-2}'
Funziona ps
raccogliendo il state
e nice
livello di tutti i processi e invia l'output a awk
che imposta una variabile di conteggio c
e lo incrementa ogni volta che la seconda colonna (nice) è minore o uguale a 0 e la prima colonna include R (per eseguibile). Una volta fatto, stampa il valore di c
dopo aver sottratto 2. Sottraggo 2 perché i comandi ps e awk saranno quasi sempre considerati eseguibili per tutta la durata dell'esecuzione del comando. Il risultato finale sarà un singolo numero che rappresenta il numero di processi eseguibili nel momento in cui lo script è stato eseguito escludendo se stesso e i processi eseguiti nicely
, che è essenzialmente il carico istantaneo sulla macchina. Dovresti eseguirlo periodicamente e calcolarne la media su 1, 5 e 15 minuti per determinare le medie di carico tipiche della macchina.