Estou executando alguns benchmarks em vários garfos bitcoind
e notei alguns valores conflitantes ao executar top
.
Na captura de tela abaixo, há uma distribuição uniforme de aproximadamente 30% de utilização da CPU em cada uma das 8 CPUs. Mas na exibição de lista abaixo, bitcoind
mostra 105% da CPU. Dado que não está no modo Irix, isso significa que bitcoind
está usando 100% de 1 cpu. Mas não está sendo exibido dessa maneira no detalhamento acima. Além disso, os processos Python que estou executando relatam ~ 40% cada na leitura inferior, mas nenhum dos cpus na parte superior lê ~ 40%.
A máquina realmente tem 8 núcleos físicos, rodando o Ubuntu não virtualizado.
Para comparação, aqui está rodando stress
em 8 cpus com a mesma top
tela. Observe que cada 8 cpus tem 100% de utilização e os 8 stress
processos têm um relatório de 100%.
Atualização: de fato, a variante que eu estava testando é multithread e a H
opção mostrava o detalhamento, obrigado @TheGeek
É porque sua moeda é multiencadeada. Pressione a letra "H" na parte superior para ativar o modo de rosca. Isso mostrará os threads filhos do bitcoind. Você pode então ver a distribuição do uso da CPU.
Você também pode tentar o gstack para ver a lista de threads.