que tienen un proceso que parece estar en un punto muerto:utilización de la CPU alta para dormir procesa
# strace -p 5075
Process 5075 attached - interrupt to quit
futex(0x419cf9d0, FUTEX_WAIT, 5095, NULL
Está sentado en la llamada de sistema "futex", y parece estar esperando indefinidamente en un bloqueo. El proceso se muestra que el consumo de una gran cantidad de CPU cuando "arriba" se ejecute:
# top -b -n 1
top - 23:13:18 up 113 days, 4:19, 1 user, load average: 1.69, 1.74, 1.72
Tasks: 269 total, 1 running, 268 sleeping, 0 stopped, 0 zombie
Cpu(s): 8.1%us, 0.1%sy, 0.0%ni, 91.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 12165696k total, 3810476k used, 8355220k free, 29440k buffers
Swap: 8388600k total, 43312k used, 8345288k free, 879988k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5075 omdb 18 0 2373m 1.7g 26m S 199.7 14.9 102804:11 java
el proceso también se destaca por estar en una "S" - estado de suspensión, lo cual tiene sentido si está esperando en alguna recurso. Sin embargo, no entiendo por qué la utilización de la CPU sería cercana al 200% si el proceso está en estado inactivo. ¿Por qué la parte superior informa una utilización de CPU tan alta en un proceso de inactividad? ¿No debería su utilización de CPU ser cero?
Bueno, el hecho de que 'top' se ejecute no significa que el otro proceso tenga que estar durmiendo. Más del 100% de utilización implica un sistema multinúcleo ;-). Aunque la caparazón interactiva y los subprocesos que genera pueden estar funcionando simultáneamente y * sucediendo * para causar que la otra tarea duerma, pero no es necesariamente esa directa de una causa, ¿no? – binki