Назад | Перейти на главную страницу

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

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

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

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

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

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 }')"