Se a CPU estiver executando 100% de uso, outros processos devem ser colocados em uma fila de execução. Qual comando posso usar para obter o tamanho da fila de execução? vmstat
parece retornar um valor relacionado da CPU como abaixo:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 875128 576328 2147136 0 0 1 4 3 11 0 0 99 0 0
De acordo com o manual, " r
: O número de processos executáveis (em execução ou aguardando o tempo de execução).", a coluna r
indica o número de processos incluindo processos em execução e em espera. Como posso obter o número dos processos em espera?
O número de processos executáveis é dado por
procs_running
em/proc/stat
:Subtraia o número de threads de CPU disponíveis, parando em 0, e você obterá o número de unidades de agendamento (processos ou threads) esperando para serem agendadas. Você também pode determinar o número de threads de CPU disponíveis
/proc/stat
, usando ascpu?
linhas. No geral: