¿Por qué el medidor htop muestra> 90% mientras que la tabla es 0.0%?

12

¿Por qué los medidores de progreso en la parte superior de la pantalla htopmuestran el uso de la CPU constantemente por encima de> 90%, mientras que los números en la tabla a continuación muestran un sistema casi inactivo con uso de CPU y promedio de carga de 0.0%?

captura parcial de pantalla htop

wilkie mate
fuente
1
Tengo exactamente el mismo problema y también estoy en un Dreamhost VPS (servidor privado virtual).
dualidad_
Por cierto, mira mi ejemplo, es aún peor: demo.ddesign.si/temp/dh3.png
duality_

Respuestas:

6

htopno sabe que se está ejecutando en un entorno virtualizado a nivel de kernel ( Dreamhost VPS está utilizando la tecnología VServer ). Luego muestra el uso de la CPU para todas las instancias del sistema operativo que comparten el mismo núcleo, no solo el suyo.

Eche un vistazo a la vtopsalida que muestra todos los procesos que comparten las CPU, no solo los de su contenedor.

Si vtopno está instalado, y esto probablemente se espera para una solución comercial, ya que a un cliente no le gustaría ver qué procesos están ejecutando otros clientes, no hay forma de solucionar el problema desde el interior de su contenedor, a menos que la topfuente de parche para calcular Uso de CPU en lugar de obtenerlo de las estadísticas del kernel.

Podría hacerlo resumiendo el uso de la CPU de todos los procesos que se ejecutan en su VServer, por ejemplo:

ps aux | awk '
    {cpu+=$3; ram+=$6} 
    END {printf("cpu: %d%%, RAM: %.2f MiB\n",cpu,ram/1024) }'
jlliagre
fuente
+1 para la explicación; topinformes similares a htop en esta máquina. Vtop no probado ya que no está instalado. Marcar esto como aceptado porque responde "¿por qué?", ​​Aunque no aborda lo implícito "¿y qué se puede hacer al respecto?",
Ya
4

Este tipo de inconsistencia generalmente indica un alto uso del procesador por parte de los hilos del kernel, que no se muestran htoppor defecto. Para mostrarlos, htopvaya a Setup, luego Display options, y luego desmarque Hide kernel threads. Esto debería permitirle ver los hilos que son responsables.

También puede deshabilitar este comportamiento estableciendo hide_kernel_threadsa 0 pulg ~/.htoprc.

Chris Down
fuente
2
gracias Chris Lo hice pero los valores de la tabla siguen siendo 0%. ¿Quizás esto es algo peculiar de correr en una máquina virtual? El host es un servidor privado virtual (en Dreamhost.com).
Matt Wilkie
Para mí, esta es la respuesta más correcta. Tenía un proceso que ocupaba una gran cantidad de CPU del núcleo, y no se mostraba en los procesos de espacio de usuario.
Patrick Chu
... excepto que los medidores de CPU HTop muestran el tiempo del kernel en rojo y el tiempo del usuario en verde, y podemos ver claramente que casi todo es verde.
MathematicalOrchid
1

Intenta iniciar htopcon sudo. Necesita acceso de root para ver esos hilos activos en la tabla.

HAL 9001
fuente
No sé qué tan bien funciona o no en entornos virtualizados regulares, si existe algo así como regular, pero no funciona en VPS dreamhost.
Matt Wilkie