Por que o cpuinfo mostra apenas 2 processadores? [duplicado]

0

Estou executando o seguinte comando:

cat /proc/cpuinfo | /bin/egrep 'processor|model name|cache size|core|sibling|physical'

O que dá esta saída:

processor   : 0
model name  : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
cache size  : 8192 KB
physical id : 0
siblings    : 8
core id     : 0
cpu cores   : 4
address sizes   : 40 bits physical, 48 bits virtual
processor   : 1
model name  : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
cache size  : 8192 KB
physical id : 0
siblings    : 8
core id     : 1
cpu cores   : 4
address sizes   : 40 bits physical, 48 bits virtual

Então, eu posso dizer que o Hyperthreading está ON, dado o ht flag na saída cpuinfo completa, e também porque os irmãos são duas vezes os núcleos cpu.

Isso significa que eu tenho um processador quad core físico com HT ativado e pronto?

Não está claro para mim por que existem apenas dois registros de processador listados (IDs principais 0 e 1). Não deveria haver 2 outros registros para os núcleos 2 e 3?

* Nota: Executar lscpu me dá um erro "falha ao determinar o número de CPUs"

    
por Jk33 24.09.2018 / 21:13

1 resposta

0

Na saída de cat /proc/cpuinfo acima, você pode ver as seguintes informações:

physical id : 0
siblings    : 8
core id     : 0
cpu cores   : 4

Olhando para este Intel página sobre sua especificação do processador, é claro que o processador tem 4 núcleos. Então, cpuinfo está correto.

Além disso, você pode ver que a contagem de irmãos é 8 e os núcleos da CPU são 4. Os núcleos da CPU, sendo 4, são o número total de núcleos no processador.

A maioria dos novos processadores são projetados para economizar energia e bateria, o que significa que não é necessário que todos os núcleos estejam funcionando ao mesmo tempo. O conteúdo de /proc/cpuinfo é um pouco dependente de implementação e enganoso, portanto, não é necessário relatar corretamente as informações de hardware. De fato, /proc/cpuinfo é um dos poucos lugares no Linux onde você obtém informações completas sobre o hardware que você possui.

Para contar o número correto de CPUs Use o comando [nproc][1] que faz parte do coreutils. Este comando imprime o número de unidades de processamento disponíveis para o processo atual.

Para encontrar o número de todos os núcleos / processadores instalados, execute o comando nproc da seguinte forma:

nproc --all
--all  print the number of installed processors

Mais informações sobre /proc/cpuinfo e o número de processadores podem ser obtidas aqui

    
por 24.09.2018 / 21:30

Tags