Wykorzystanie procesora wysokie dla procesów snu

Mam proces, który wydaje się być zablokowany:

# strace -p 5075
Process 5075 attached - interrupt to quit
futex(0x419cf9d0, FUTEX_WAIT, 5095, NULL

Siedzi na wywołaniu systemowym „futex” i wydaje się, że czeka na niego bezterminowo. Proces pokazuje, że zużywa dużą ilość CPU, gdy uruchamiany jest „top”:

# 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

Proces jest również pokazany jako „S” - stan uśpienia, który ma sens, jeśli czeka na jakiś zasób. Nie rozumiem jednak, dlaczego wykorzystanie procesora byłoby bliskie 200%, jeśli proces jest w stanie uśpienia. Dlaczego na górze raportuje się tak wysokie wykorzystanie procesora w procesie uśpienia? Czy wykorzystanie procesora nie powinno być zerowe?

questionAnswers(3)

yourAnswerToTheQuestion