Processar na fila de execução

2

Como mostram a lista atual de processos e threads atualmente na fila de execução?

Ou seja, se a média de carregamento do meu servidor for 32.1, então, em média, cerca de 32 processos ou threads estarão prontos para serem executados em um determinado ponto no tempo nos últimos minutos. Eu gostaria de descobrir o que eles são.

Algo como ps axHr deve fazer o truque, mas em um servidor com uma média de carga no intervalo de 80, ele mostra apenas 3 ou 4 itens.

O melhor que eu tenho é ps axH | grep -v " S" , mas isso parece frágil e frágil, e nem totalmente totalmente correto.

    
por tylerl 19.09.2010 / 08:56

2 respostas

4
ps -A -o pid,state,command | awk '{ if ($2 == "R") print }'
 1605 R /usr/bin/skype
30655 R ps -A -o pid,state,command

ou use htop e classifique (F6) por "S"

ou para solucionar problemas de valores de alta carga:

while [ 1 ] ; do ps -A -o pid,state,command | \
   awk '{ if ($2 != "S") print }' | \
   grep -v "ps -A -o pid,state,command" ; sleep 3 ; done
    
por 19.09.2010 / 09:14
1

Você pode adicionar um relógio à sua linha de comando:

 watch -n 1 "(ps aux | awk '\ ~ /D/ || \ ~ /R/   { print \
 watch -n 1 "(ps aux | awk '\ ~ /D/ || \ ~ /R/   { print \%pre% }')"
}')"
    
por 07.07.2015 / 01:59