Как отсортировать вывод ps для поиска приоритетов в реальном времени и определить обработанную текущую очередь процесса

Как правильно идентифицировать процессы реального времени, занимаемые в настоящее время в очереди процессоров, и считать их с помощью ps? Я знаю, что есть куча таких файлов, как prio, rtprio, pri, nice, но не знаю, что правильно использовать. Кажется, мне нужно использовать что-то вроде ps -eo rtprio,prio,cpu,cmd --sort=+rtprio чтобы получить полный список, но это не кажется мне правильным, так как сработало много процессов - знак в столбце RTPRIO. Например, у меня есть система с 48 ядрами, работающая под управлением Oracle Linux, и попытайтесь определить следующие вопросы:

  1. Какие процессы заняли очередь выполнения? Какой их счет?
  2. Как определить процессы, которые выполняются в режиме реального времени или с повышенным приоритетом?

Список ненулевых процессов CPU%:

 ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm --sort=+pcpu | awk '$8!=0.0 {print}' | awk 'NR>1' 

Считать их

 ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm --sort=+pcpu | awk '$8!=0.0 {print}' | awk 'NR>1' | wc -l 

Чтобы увидеть это постоянно обновляемое, но в файле с именем processes.sh :

 #!/bin/bash ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm --sort=+pcpu | awk '$8!=0.0 {print}' | awk 'NR>1' 

и сделать его исполняемым с помощью chmod +x processes.sh . Теперь запустите его с часами для живого обновления:

 watch ./processes.sh