Você pode escrever seu próprio script que usa ps
para listar todos os processos no estado run / runnable sem um valor legal maior que 0. A sintaxe específica que você precisa usar será diferente com base na sua versão de ps
. Algo como isso pode funcionar:
ps -eo state,nice | awk 'BEGIN {c=0} $2<=0 && $1 ~ /R/ { c++ } END {print c-2}'
Ele executa ps
coletando o nível state
e nice
de todos os processos e canaliza a saída para awk
, que define uma variável de contagem c
e a incrementa sempre que a segunda coluna (nice) for menor que ou igual a 0 e a primeira coluna inclui R (para executável). Uma vez feito isso, imprime o valor de c
após a subtração 2. Subtraio 2 porque os comandos ps e awk quase sempre serão considerados executáveis durante a execução do comando. O resultado final será um único número que representa o número de processos executáveis no momento em que o script foi executado, excluindo ele mesmo e os processos executados em nicely
, que é essencialmente a carga instantânea na máquina. Você precisaria executá-lo periodicamente e fazer uma média de 1, 5 e 15 minutos para determinar as médias de carga típicas da máquina.