¿Qué unidades de tiempo usa "top"?

59

Si publico el comando "superior" y recibo resultados como:

PID   USER  PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND   
00001 bob   25   0 77380 1212 1200 R 95.8  0.0  89122:13 fee         
00002 bob   25   0 77380 1196 1184 R 95.4  0.0  88954:14 fi         
00003 sam   18   0  427m  16m 6308 R 30.0  0.1  54:46.43 fo         
00004 sam   18   0  427m  16m 6308 R 26.5  0.1  52:55.33 fum         

Pregunta: ¿Cuáles son las unidades en la columna "TIEMPO +"?

Lo que he intentado: (sugiera una mejor estrategia para buscar documentación ...)

  • man top | grep -C 4 time o
  • man top | grep <X>cuando sustituyo minute, hour, day, o HHpara X...
Abe
fuente

Respuestas:

47

minutos: segundos centésimas

La búsqueda de "TIME +" o de "segundos" da la respuesta, algo así (no llamaría a la página del manual clara).

Este formato se hereda de BSD, también lo obtienes con ps uo ps lbajo Linux.

Gilles 'SO- deja de ser malvado'
fuente
gracias ... (encontré TIME + desde la primera búsqueda, pero me desanimé); ¿Puedo suponer que 89122: 13 está en unidades de MM: SS (89122 minutos y 13 segundos = 60 días)?
Abe
1
@Abe Sí, 89122: 13 = 5347333 segundos ≈ 62 días.
Gilles 'SO- deja de ser malvado'
1
@Abe, creo que podemos dividir ese tiempo dado por la cantidad de núcleos y obtener la hora del reloj desde que comenzó ...
PJunior
@Gilles Soy nuevo en Linux. ¿Qué hora significa TIME +? ¿Durante cuánto tiempo se ejecuta el trabajo?
mithusengupta123
@ mithusengupta123 Esa es la cantidad de tiempo de CPU utilizada por el proceso. Puede ser mucho menos de cuánto tiempo ha estado ejecutándose el proceso si el proceso no está vinculado a la CPU, por ejemplo, un proceso que pasa la mayor parte de su tiempo inactivo esperando atender solicitudes.
Gilles 'SO- deja de ser malvado'
57

psy topmuestra el tiempo de CPU utilizado, no el tiempo de reloj desde que comenzó el proceso. Una forma de verificar cuándo comenzó el proceso es usar el siguiente comando. La fecha de creación del archivo PID es cuando comenzó el proceso:

ls -ld /proc/pid

Entonces, para el proceso 2303 sería:

ls -ld /proc/2303
Paul Heimiller
fuente
2
No veo ningún lugar donde Gilles dijo que los valores mostraban la hora del reloj ...
Chris Down
Bueno, lleva a 'cualquiera' por error, en mi opinión.
PJunior
15
Su respuesta es útil, pero afirmar que 'la otra respuesta es totalmente incorrecta' no es (en mi opinión) precisa. La pregunta original es qué unidades se utilizan. La 'otra respuesta' responde eso. Simplemente no especifica que esta es una medida del tiempo de la CPU, no del tiempo del reloj. Su respuesta lo aclara y, por lo tanto, es útil (pero no responde la pregunta original). Voy a votar su respuesta si elimina de su respuesta que la otra respuesta es "totalmente incorrecta".
Jason S
2
Esto no parece funcionar para un proceso de larga ejecución (puede ser que no funcione también para trabajos cortos). Veo que este archivo también se actualiza por alguna otra razón. Hay otra forma de calcular cuándo se crea el proceso ( stackoverflow.com/questions/5731234/… )
Ganesh
No funcionó para mí, después de que el proceso se ejecutara durante 2 días, este archivo informó una hora de modificación muy reciente. Además, el OP era "qué unidades", mientras que esto es interesante ... fuera de tema.
Wilbur Whateley