Avec top
il est facile de savoir combien de CPU chaque tâche utilise. Cependant, je veux traquer un travail qui cause une attente CPU élevée. Existe-t-il un moyen de savoir quels travaux sont bloqués sur les E/S ?
Réponses
Trop de publicités?Pour être plus précis, cette commande permet de savoir facilement quels processus "mangent" vos cycles CPU :
while true; do date; ps auxf | awk '{if($8=="D") print $0;}'; sleep 1; done
Cette url pourrait être utile : Problème d'attente d'E/S sous Linux
iotop y latencetop peut être utile. Ni l'un ni l'autre ne donne exactement le "temps d'attente du CPU causé par un processus" -- je ne suis même pas sûr que cela ait un sens, parce que le CPU peut se mettre au service d'autres processus en attendant les E/S -- mais ces deux outils donnent une vue d'ensemble (respectivement) du trafic d'E/S du système et des retards d'ordonnancement.