Estou executando um programa multithread no meu processador de 8 núcleos. O comando top
mostra 8 processos em execução e cada um utiliza um núcleo em 100%. O problema é que apenas 21% estão marcados como cpu do usuário e meu aplicativo está rodando tão lento:
Cpu(s): 20.6%us, 79.4%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Como posso encontrar mais informações sobre o sistema processa aqueles que tomaram 79% do tempo da CPU? Especificamente, quero saber quais são essas chamadas de sistema.
Obrigado antecipadamente!
EDIT: É isso que os principais retornam:
top - 11:23:04 up 83 days, 1:20, 10 users, load average: 8.00, 8.00, 8.00
Tasks: 267 total, 10 running, 257 sleeping, 0 stopped, 0 zombie
Cpu(s): 40.6%us, 17.4%sy, 0.0%ni, 41.9%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 16324640k total, 5645008k used, 10679632k free, 285368k buffers
Swap: 2047992k total, 32064k used, 2015928k free, 4584140k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
27262 ahmad 20 0 308m 32m 18m R 102.2 0.2 5022:32 Espresso
26872 ahmad 20 0 176m 12m 4540 R 100.0 0.1 5087:05 Espresso
27263 ahmad 20 0 175m 13m 4824 R 100.0 0.1 5022:35 Espresso
27265 ahmad 20 0 175m 12m 4508 R 100.0 0.1 5022:35 Espresso
26869 ahmad 20 0 308m 31m 18m R 98.3 0.2 5086:20 Espresso
26870 ahmad 20 0 175m 13m 4864 R 98.3 0.1 5087:05 Espresso
26871 ahmad 20 0 176m 12m 4592 R 98.3 0.1 5086:58 Espresso
27264 ahmad 20 0 176m 12m 4552 R 98.3 0.1 5022:06 Espresso
1 root 20 0 19404 1164 940 S 0.0 0.0 0:02.12 init
2 root 20 0 0 0 0 S 0.0 0.0 0:02.81 kthreadd