Процесс в очереди выполнения

Как показать текущий список процессов и потоков, находящихся в данный момент в очереди на запуск?

То есть, если средняя загрузка моего сервера составляет 32,1, то в течение последних нескольких минут в среднем было около 32 процессов или потоков, готовых к запуску в любой данный момент времени. Я хотел бы узнать, что они есть.

Что-то вроде ps axHr должен сделать трюк, но на сервере со средней загрузкой в ​​диапазоне 80, он показывает только 3 или 4 элемента.

Лучшее, что я придумал, это ps axH | grep -v " S", но это кажется грязным и хрупким, и даже не совсем правильным.

2 ответа

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

или используйте htop и сортируйте (F6) по "S"

или для устранения проблем значений высокой нагрузки:

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

Вы можете добавить часы в вашу командную строку:

 watch -n 1 "(ps aux | awk '\$8 ~ /D/ || \$8 ~ /R/   { print \$0 }')"
Другие вопросы по тегам