90 votes

Temps CPU utilisateur vs temps CPU système ?

Pourriez-vous nous en dire plus sur le "temps CPU utilisateur" et le "temps CPU système" ? J'ai lu beaucoup de choses, mais je n'ai pas bien compris.

68voto

Michael Ekstrand Points 12849

La différence est de savoir si le temps est passé dans l'espace utilisateur ou dans l'espace noyau. Le temps CPU utilisateur est le temps passé sur le processeur à exécuter le code de votre programme (ou le code des bibliothèques) ; le temps CPU système est le temps passé à exécuter le code dans le noyau du système d'exploitation au nom de votre programme.

1 votes

Lequel est utilisé pour l'exécution des fichiers "*.dll" ?

4 votes

@user472221 dll est un concept Win. Votre question n'est pas liée au système d'exploitation

1 votes

@user472221 Ma réponse est basée sur UNIX/Linux ; le même concept devrait s'appliquer sous Windows. Je pense que la plupart des DLLs sont en espace utilisateur, bien que je ne sache pas exactement où se situe la limite avec Windows. Si vous voulez vraiment savoir où votre programme utilise le temps CPU, utilisez un profileur.

31voto

N Randhawa Points 2888

Temps CPU utilisateur : Temps pendant lequel le processeur a travaillé sur le programme spécifique.

Temps CPU du système : Temps pendant lequel le processeur a travaillé sur les fonctions du système d'exploitation liées à ce programme spécifique.

7 votes

Quelle est la source de ce texte ?

11 votes

Organisation et conception des ordinateurs : L'interface matériel/logiciel - Par David A. Patterson, John L. Hennessy -- Page 30

2 votes

Il est donc possible d'avoir un temps système nul pour un processus si le noyau est libre de toute exécution sur le thread spécifique si je comprends bien.

25voto

user3407861 Points 241

Le terme "temps d'utilisation de l'unité centrale" peut être un peu trompeur au début. Pour être clair, le temps total (temps CPU réel) est la combinaison du temps que le CPU passe à effectuer une action pour un programme et du temps que le CPU passe à effectuer des appels système pour le noyau au nom du programme. Lorsqu'un programme boucle dans un tableau, il accumule du temps CPU utilisateur. À l'inverse, lorsqu'un programme exécute un appel système tel que exec ou fork, il accumule du temps CPU système.

6voto

keypress Points 31

Sur la base de wikipedia :

  • Temps d'utilisation est le temps pendant lequel le CPU était occupé à exécuter du code dans l'espace utilisateur.
  • Temps système est le temps pendant lequel le CPU était occupé à exécuter du code dans l'espace du noyau. Si cette valeur est rapportée pour un thread ou un processus, elle représente la durée pendant laquelle le noyau a effectué des travail pour le compte du contexte d'exécution, par exemple, après qu'un thread ait ait émis un appel système.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X