La columna Time+ (Tiempo de CPU) en el comando superior informa incorrectamente

La columna Time+ (Tiempo de CPU) en el comando superior informa incorrectamente

La columna Hora+ en mi comando superior no informa la hora correcta para un script php en ejecución. Primero fluctúa hacia arriba y hacia abajo informando algo como

TIME+
22:39.35 php

Y luego tres segundos después informando

TIME+
7:12.41 php

Y luego otros tres segundos después informando

TIME+
42:44.21 php

¿Alguna pista de por qué ocurre esto?

Editar:

Presioné "c" para alternar el nombre del proceso y saber que es el mismo proceso. La hora todavía se informa incorrectamente.

Respuesta1

¿Estás seguro de que estos son los mismos procesos de PHP? Apuesto a que tienes múltiples procesos php que están "saltando encima".

Si desea monitorear mejor y fácilmente todos los procesos php, le recomiendo usar 'htop' mucho más fácilmente para lo que está viendo.

Respuesta2

De forma predeterminada, topordena por% de CPU, por lo que verá cómo se mueve el proceso en la lista. Utilice la <tecla repetidamente para mover la columna de clasificación a PID y la lista dejará de "saltar" (al menos, siempre que no se detengan ni comiencen nuevos procesos). Alternativamente, haga ps p PID u(sustituyendo el PID del phpproceso de interés) para ver solo ese proceso en un pslistado. Si el tiempo no "salta" allí, es probable que estés viendo un artefacto de clasificación top.

Respuesta3

Ese valor se calcula tomando el campo 14 de /proc//stat que administra el kernel.

El valor en cuestión, hasta donde yo lo entiendo, solo aumenta en "seguimientos" (efectivamente, centésimas de segundo).

¿Puedes calcular el valor de /proc//stat para ese pid diez segundos uno tras otro?

información relacionada