2010-08-07 18 views
27

Estoy tratando de averiguar el rendimiento de mi código, pero no entiendo el resultado del comando time, ¿Alguien puede explicar qué significa la salida de comando de tiempo?¿Cómo entender la salida del comando de tiempo?

Lo siguiente es lo que me sale:

time ./filereader 

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

Lo que es real, user, sys?

+0

Consulte la pregunta duplicada para obtener una respuesta completa: http://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1 –

Respuesta

32

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

real se refiere al tiempo transcurrido real; Usuario y Sys se refieren al tiempo de CPU utilizado solo por el proceso.

  • Real es el tiempo del reloj de pared - tiempo de principio a fin de la llamada. Esto es todo el tiempo transcurrido, incluidos los segmentos de tiempo utilizados por otros procesos y el tiempo que el proceso pasa bloqueado (por ejemplo, si está esperando a que se complete la E/S).
  • El usuario es la cantidad de tiempo de CPU consumido en el código de modo de usuario (fuera del núcleo ) dentro del proceso. Esto es solo el tiempo real de CPU utilizado al ejecutar el proceso. Otros procesos y tiempo el proceso pasa bloqueado no cuentan para esta figura.
  • Sys es la cantidad de tiempo de CPU consumido en el kernel dentro del proceso. Esto significa ejecutar el tiempo de CPU gastado en llamadas al sistema dentro del kernel, como opuesto al código de la biblioteca, que es que aún se está ejecutando en el espacio de usuario. Al igual que 'usuario', este es solo el tiempo de CPU utilizado por en el proceso.
10

'real' es la cantidad de tiempo de reloj que tomó. Si tuviera que cronometrarlo con un cronómetro, eso es lo que obtendría.

'usuario' es la cantidad de tiempo de CPU que usa el proceso en sí.

'sys' es la cantidad de tiempo de CPU que el kernel gastó en nombre del proceso.

+2

'real' is no la cantidad de tiempo que un cronómetro dice, al menos según mis observaciones. Por ejemplo, anoche comencé un proceso, y esta mañana informa '2376m6.172s reales '. En realidad, han transcurrido menos de doce horas. – feklee

Cuestiones relacionadas