2010-08-07 4 views
27

J'essaie de comprendre la performance de mon code, mais je ne comprends pas la sortie de la commande time, Quelqu'un peut-il s'il vous plaît expliquer ce que signifie la sortie de commande de temps.Comment comprendre la sortie de la commande de temps?

Ce qui suit est ce que je reçois:

time ./filereader 

real 0m0.193s 
user 0m0.012s 
sys 0m0.056s 

Qu'est-ce real, user, sys?

+0

Voir la question en double pour une réponse complète: http://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1 –

Répondre

32

De: http://zch051383471952.blogspot.com/2010/01/different-of-real-user-sys-time.html

réel se réfère au temps écoulé réel; L'utilisateur et le système se réfèrent au temps UC utilisé uniquement par le processus.

  • Réel est l'horloge temps-mur du début à la fin de l'appel. Ceci est tout le temps écoulé y compris les tranches de temps utilisé par d'autres processus et le temps que le processus passe bloqué (par exemple si il attend que les E/S soient terminées).
  • L'utilisateur est la quantité de temps CPU passé en code en mode utilisateur (en dehors du noyau ) dans le processus. Ceci est seul le temps CPU réel utilisé dans l'exécution le processus. Les autres processus et le temps les dépenses de processus bloquées ne sont pas comptez vers cette figure.
  • Sys est la quantité de temps CPU passé dans le noyau au sein du processus. Ce signifie l'exécution du temps CPU passé en appels système dans le noyau, comme en opposition au code de la bibliothèque, qui est toujours en cours d'exécution dans l'espace utilisateur. Comme 'utilisateur', ceci est seulement le temps CPU utilisé par le processus.
10

'real' est la quantité de temps d'horloge nécessaire. Si vous deviez chronométrer avec un chronomètre, c'est ce que vous obtiendriez. 'User' est la quantité de temps CPU que le processus lui-même a utilisé.

'sys' est la quantité de temps CPU que le noyau a dépensé au nom du processus.

+2

'real' est pas la quantité de temps qu'un chronomètre indique, au moins de mes observations. Par exemple, la nuit dernière, j'ai commencé un processus, et ce matin, il rapporte 'real 2376m6.172s'. En réalité, moins de douze heures se sont écoulées. – feklee

Questions connexes