2010-02-16 21 views
2

En essayant de surveiller l'utilisation du processeur d'un processus que j'ai mis à jour pour faire un peu plus de travail. Cependant, en lisant le fichier/proc/pid/stat, les comptes jiffie (de utime, stime, etc.) du processus n'augmenteront pas. (C'est vraiment faire un peu de travail, je peux le voir avec strace etc).Utilisation du processeur non mesurable?

La quantité de travail que fait le processus est relativement minime (lit/proc/stat 10 fois par seconde, fait un scanf, ajoute/supprime quelques-uns et met à jour de la mémoire partagée). Est-il possible qu'une quantité de travail puisse être si faible qu'elle n'arrive pas à augmenter le nombre de jiffies? Est-ce qu'un processus doit tenir sur le processeur pour un jiffie complet afin d'incrémenter le compte?

Toutes les pensées seraient les plus appréciés

Vive Joe.

Répondre

1

Les compteurs que vous consultez sont mis à jour pendant une coche de temporisateur. Seul le processus en cours lorsque la coche se produit est mis à jour. Si votre processus fait beaucoup d'attente, il y a de fortes chances qu'il ne soit pas lancé lorsque la minuterie se déclenche.