Estoy ejecutando un proceso en un servidor Ubuntu de 4 núcleos. Sin embargo, el topcomando 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
topes 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,
toppuede 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
htoputilidad como una mejortopalternativa. Verá su programa utilizando los 8 núcleos.fuente
htop