Pourriez-vous expliquer davantage le "temps CPU utilisateur" et le "temps CPU système"? J'ai beaucoup lu, mais je ne pouvais pas bien le comprendre.
La différence est de savoir si le temps est passé dans l'espace utilisateur ou dans l'espace noyau. Le temps CPU de l'utilisateur est le temps passé sur le processeur exécutant le code de votre programme (ou le code dans les bibliothèques); le temps CPU du système est le temps passé à exécuter du code dans le noyau du système d'exploitation au nom de votre programme.
Le terme "temps processeur utilisateur" peut être un peu trompeur au début. Pour être clair, le temps total (temps réel du CPU) 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 parcourt un tableau, il accumule du temps CPU utilisateur. Inversement, lorsqu'un programme exécute un appel système tel que exec ou fork, il accumule du temps CPU système.
ser CPU Time: durée pendant laquelle le processeur a travaillé sur le programme spécifique.
System CPU Time: durée pendant laquelle le processeur a travaillé sur les fonctions du système d'exploitation connectées à ce programme spécifique.
Basé sur wikipedia :
- Le temps utilisateur est la durée pendant laquelle le CPU a été occupé à exécuter du code dans l'espace utilisateur.
- L'heure système est la durée pendant laquelle le CPU a été occupé à exécuter du code dans l'espace noyau. Si cette valeur est signalée pour un thread ou un processus, elle représente la durée pendant laquelle le noyau effectuait un travail au nom du contexte d'exécution, par exemple, après qu'un thread a émis un appel système.