Por que o TOP nunca mostra o uso da CPU atingindo 100%?

2

Eu tenho um processador dual-core. Estou executando duas instâncias do programa abaixo

void void main(){
    int i;
    while(1){
        i=i+1;
    }
}

Eu uso TOP e o uso da CPU chega a 97%, mas nunca chega a 100%, por que não? A CPU deve estar sempre ocupada executando os dois programas sem operação de E / S.

Como o estouro int afetaria a memória?

O TOP realmente mostra todo o uso da CPU ou existe uma porcentagem da CPU reservada apenas para o SO que não é mostrada lá? Existem processos do SO que não são mostrados lá?

    
por ostri 27.09.2012 / 19:17

1 resposta

2

 why doesn't it? 

existe um conceito de agendamento, além disso também depende do número de núcleos.No meu sistema, este programa não pode causar mais de 13% de uso da CPU (até que você não escreva programa de manipulação multi-core) .Você pode experimente alguma ferramenta de benchmarking e consiga ver sua parte superior relatando até 100% de uso da CPU.

How would the int overflow affect the memory?

Depois de -2 31 , seu int i terá um valor 0 novamente.

    
por 27.09.2012 / 19:26

Tags