Estoy ejecutando un proceso en un servidor Ubuntu de 4 núcleos. Sin embargo, el top
comando muestra que el uso de la CPU es del 799% todo el tiempo.
como puede ser esto posible? Sé que para las CPU de múltiples núcleos, se espera más del 100% de uso de la CPU, pero el 799% es un valor realmente alto.
¿Alguien puede explicarme por qué y cuándo podría suceder esto?
Editar:
Según la sugerencia de Gregory MOUSSAT, usando htop obtuve lo siguiente:
linux
ubuntu
multi-core
top
Arpssss
fuente
fuente
Respuestas:
La escala utilizada por
top
es del 100% cuando un núcleo se utiliza por completo. O cuando un núcleo es 20% y el segundo es 80%. Esto conduce a resultados extraños en computadoras multinúcleo porque fácilmente puede superar el 100%.Si tiene 8 núcleos,
top
puede mostrar desde 0% (sistema inactivo) hasta 800% (potencia máxima).Su programa solo utiliza sus 4 núcleos con hyperthreading (por lo tanto, 8 núcleos virtuales) a su máxima capacidad. Entonces top te da casi 8 x 100% = 800%.
No puede decirle explícitamente a la JVM que use un solo hilo, usará múltiples hilos para hacer su trabajo, incluso si solo usa un solo hilo en su aplicación.
Puede usar la
htop
utilidad como una mejortop
alternativa. Verá su programa utilizando los 8 núcleos.fuente
htop