Como verificar os detalhes do processador e CPU no Linux – Command Examples

0 Comments

Processor/Cpu details

os detalhes sobre o processador de que falaremos incluem, número de núcleos, disponibilidade de Hyper threading, arquitetura, tamanho da cache, etc.

para encontrar estes detalhes sobre a cpu no seu sistema pode ser um pouco difícil porque a forma como os diferentes comandos os verificam.

os comandos que vamos usar incluem lscpu, / proc/cpuinfo e lstopo (hwloc).,
estes comandos mostram informações detalhadas sobre os núcleos de cpu/unidades de processamento.

os exemplos seguintes explicariam como interpretar a saída destes comandos.

1. Fornecedor e modelo do processador

para encontrar o nome do fornecedor e modelo do processador, procure o ficheiro /proc/cpuinfo com o comando grep.

$ cat /proc/cpuinfo | grep vendor | uniqvendor_id : GenuineIntel

seu processador Intel. Em seguida, encontre o nome do modelo que pode ser usado para procurar as especificações exatas online no site da Intel”.

$ cat /proc/cpuinfo | grep "model name" | uniqmodel name : Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz

seu processador “Core 2 Quad Q8400”.2., Architecture

The lscpu commands reports the architecture.

$ lscpuArchitecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte Order: Little Endian.....

a arquitetura é x86_64 que é 64 bits.

3. Frequency

the frequency / speed of the processor is reported by both lscpu and /proc/cpuinfo.

$ lscpu | grep -i mhzCPU MHz: 1998.000
$ cat /proc/cpuinfo | grep -i mhz | uniqcpu MHz : 1998.000
The frequency reported might be lower than the actual frequency specified for the processor because most modern processors operate at lower frequencies to save power. Under load condition they would switch to higher frequency.

A mudança de frequência pode ser visto, monitorando a saída de /proc/cpuinfo usando o relógio.,

$ watch -n 0.1 "cat /proc/cpuinfo | grep -i mhz"

execute o comando acima num terminal e enquanto estiver em execução, inicie uma tarefa intensiva de cpu em paralelo e a frequência aumentará.

Every 0.1s: cat /proc/cpuinfo | grep -i mhz Sun Jun 29 15:28:38 2014cpu MHz : 2664.000cpu MHz : 2664.000cpu MHz : 2664.000cpu MHz : 2664.000

4. Número de núcleos

cada núcleo no processador é uma cpu independente ou unidade de processamento. Múltiplos núcleos permitem ao processador executar várias instruções de programa em paralelo, aumentando assim a velocidade de processamento.

o comando lscpu indica os “núcleos por socket”.

assim, neste caso, o número de núcleos no processador é 4.,
O arquivo /proc/cpuinfo também indica o número de núcleos, mas pode ser complicado e confuso.

simplesmente contar o número de processadores pode dar números errados.

$ cat /proc/cpuinfo | grep "processor"

No caso de processadores hiper-roscados, o número de processadores que o sistema operacional vê é o dobro do número de núcleos.

no entanto / proc / cpuinfo tem um campo chamado “core id” que é um id único para cada núcleo em um único processador., Contando o id do núcleo daria uma indicação clara do número real de núcleos no processador

$ cat /proc/cpuinfo | grep -i "core id"core id : 0core id : 2core id : 1core id : 3

Vários processadores

Raros, mas no caso de você estiver em um sistema que possui vários processadores físicos (sim, isso significa 2 ou mais processadores montados na placa-mãe) e, em seguida, os resultados de /proc/cpuinfo seria diferente. No caso de múltiplos processadores, o” ID físico ” indicaria valores múltiplos.

$ cat /proc/cpuinfo | grep -i "physical id" | uniqphysical id : 0

Se houver mais de 1 id físico, então há múltiplos processadores físicos no sistema., E você tem que contar os núcleos em cada processador separadamente.

5. Hyper threading

Hyper threading é uma tecnologia de Intel que permite que núcleos individuais para executar como 2 unidades de processamento lógico. Isto, de certa forma, aumenta o poder de processamento de cada núcleo de forma limitada.

para verificar se o processador tem hyper-threading, 2 valores diferentes têm de ser comparados. O primeiro é o número de núcleos reais, e o segundo é o número de unidades de processamento lógico.

Se o número de núcleos for igual ao número de unidades de processamento como visto pelo SO, então não há Hyper threading., Caso contrário, se o número de unidades de processamento for maior/duas vezes o número de núcleos, então sim hyper threading.

number of processing units = number of cores number of processing units = number of cores * 2 

Tome este exemplo de um Core 2 Quad Q8400 processador

Número de processadores, como mostrado por /proc/cpuinfo é 4

$ cat /proc/cpuinfo | grep processorprocessor : 0processor : 1processor : 2processor : 3

Número de “núcleos de cpu” = 4, bem como “irmãos” = 4 e única “core” id = 4

Portanto número total de unidades de processamento = número real de núcleos. Assim, não há nenhum Hyper threading neste processador, e o mesmo pode ser confirmado a partir das especificações do processador no site da Intel”.,

processador Hyper-threaded

Incase of hyper threading being present the output of/proc / cpuinfo or lscpu would be different.

Note o” Thread(s) por núcleo: 2 ” que indicam que existem 2 threads por núcleo, com um total de 4 núcleos. O número de unidades de processamento vistas pelo SO é 8.

Agora vamos dar uma olhada no resultado do /proc/cpuinfo.

os “núcleos de cpu” = 4 e irmãos = 8, o que significa que existem 4 núcleos e 2 hipertreads por núcleo. O número de processadores como mostrado por /proc/cpuinfo também seria 8.,

The HTT flag in dmidecode output and ht flag in /proc/cpuinfo flags might not correctly report hyper threading.

para o processador Core2Quad Q8400, tanto o dmidecode como o /proc/cpuinfo mostram a opção de hyperthreading activada, apesar de Hyper threading não estar disponível no processador.

Hwloc / lstopo

Hwloc (Portable hardware locality) é um pequeno utilitário que relata a estrutura do processador em um diagrama visual puro. O diagrama mostra o número de núcleos, hyperthreads e tamanho de cache. Um único diagrama diz tudo.,575b2e2d”>

O diagrama acima mostra claramente –

Total de Cache L2 – 4096 KB – 4 MB
Total de Núcleos – 4
unidade de Processamento por núcleo – 1

processador de Hiper-threaded
Para uma hiper-segmentado processador, o hwloc saída diagrama poderia ser assim

O diagrama indica

Total de Cache L3 – 8MB
Total de Núcleos – 4
unidades de Processamento por Core – 2

Conclusão

Para saber mais sobre comandos para verificar as informações de CPU no Linux verifique este post:
9 Comandos para Verificar as Informações de CPU no Linux


Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *