Comment identifier correctement les process en time réel actuellement occupés CPU queue et les countr en utilisant ps? Je sais qu'il y a un tas de fileds comme prio, rtprio, pri, gentil mais ne savent pas correct à utiliser. Il semble que j'ai besoin d'utiliser quelque chose comme ps -eo rtprio,prio,cpu,cmd --sort=+rtprio
pour get la list complète, mais cela ne me semble pas correct puisque beaucoup de process sont arrivés avec -
signe à la colonne RTPRIO. Par exemple, j'ai un système de 48 coeurs exécutant Oracle Linux et j'essaie d'identifier les questions suivantes:
Une list de process% CPU% non:
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm --sort=+pcpu | awk '$8!=0.0 {print}' | awk 'NR>1'
Pour les countr
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
Pour voir cela mis à jour en permanence, mais dans un file appelé 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'
et le rendre exécutable avec chmod +x processes.sh
. Maintenant, lancez-le avec surveillance pour la mise à jour en direct:
watch ./processes.sh