如何显示当前在运行队列中的进程和线程的当前列表?
也就是说,如果我的服务器的平均负载是32.1,那么在过去的几分钟内,在任何给定的时间点平均有大约32个进程或线程可以运行。 我想知道他们是什么。
像ps axHr应该做的伎俩,但在平均负载在80范围内的服务器,它只显示3或4项。
我想出的最好的是ps axH | grep -v " S" 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并按“S”sorting(F6)
或解决高负载值:
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 }')"