Pesquisa de site

9 comandos úteis para obter informações da CPU no Linux


Em um artigo anterior, reunimos uma lista de 10 comandos úteis para coletar informações de sistema e hardware no Linux. Neste guia, iremos nos restringir à CPU/processador e mostrar várias maneiras de extrair informações detalhadas sobre a CPU da sua máquina.

Apenas para lhe dar uma visão geral, consultaremos informações como arquitetura da CPU, vendor_id, modelo, nome do modelo, número de núcleos da CPU, velocidade de cada núcleo e muito mais.
Essencialmente, o /proc/cpuinfo contém todas essas informações, todos os outros comandos/utilitários obtêm sua saída deste arquivo.

Dito isso, abaixo estão 9 comandos para obter informações sobre sua CPU Linux.

1. Obtenha informações da CPU usando o comando cat

Você pode simplesmente visualizar as informações da CPU do seu sistema visualizando o conteúdo do arquivo /proc/cpuinfo com a ajuda do comando cat da seguinte forma:

cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 69
model name	: Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
stepping	: 1
microcode	: 0x1c
cpu MHz		: 1700.062
cache size	: 3072 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts
bugs		:
bogomips	: 4788.92
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:
......

Para ser um pouco mais específico, você pode empregar o comando grep – uma ferramenta CLI para pesquisar dados de texto simples em busca de linhas que correspondam a uma expressão regular. Isso pode ajudá-lo a gerar apenas o nome do fornecedor, o nome do modelo, o número de processadores, o número de núcleos, etc.:

cat /proc/cpuinfo | grep 'vendor' | uniq		#view vendor name
cat /proc/cpuinfo | grep 'model name' | uniq		#display model name
cat /proc/cpuinfo | grep processor | wc -l		#count the number of processing units
cat /proc/cpuinfo | grep 'core id'			#show individual cores	

Leitura sugerida: Como usar os comandos ‘cat’ e ‘tac’ com exemplos no Linux

2. Comando lscpu – Mostra informações da arquitetura da CPU

O comando lscpu imprime informações de arquitetura da CPU de sysfs e /proc/cpuinfo conforme mostrado abaixo:

lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 69
Model name:            Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
Stepping:              1
CPU MHz:               1303.687
CPU max MHz:           2700.0000
CPU min MHz:           800.0000
BogoMIPS:              4788.92
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts

3. Comando cpuid – Mostra CPU x86

O comando cpuid despeja informações completas sobre a(s) CPU(s) coletadas da instrução CPUID e também descobre o modelo exato da(s) CPU(s) x86 a partir dessas informações.

Certifique-se de instalá-lo antes de executá-lo.

sudo apt install cpuid        #Debian/Ubuntu systems
sudo yum install cpuid	#RHEL/CentOS systems 
sudo dnf install cpuid	#Fedora 22+ 

Uma vez instalado, execute cpuid para coletar informações sobre a CPU x86.

cpuid
CPU 0:
   vendor_id = "GenuineIntel"
   version information (1/eax):
      processor type  = primary processor (0)
      family          = Intel Pentium Pro/II/III/Celeron/Core/Core 2/Atom, AMD Athlon/Duron, Cyrix M2, VIA C3 (6)
      model           = 0x5 (5)
      stepping id     = 0x1 (1)
      extended family = 0x0 (0)
      extended model  = 0x4 (4)
      (simple synth)  = Intel Mobile Core i3-4000Y / Mobile Core i5-4000Y / Mobile Core i7-4000Y / Mobile Pentium 3500U/3600U/3500Y / Mobile Celeron 2900U (Mobile U/Y) (Haswell), 22nm
   miscellaneous (1/ebx):
      process local APIC physical ID = 0x0 (0)
      cpu count                      = 0x10 (16)
      CLFLUSH line size              = 0x8 (8)
      brand index                    = 0x0 (0)
   brand id = 0x00 (0): unknown
   feature information (1/edx):
      x87 FPU on chip                        = true
      virtual-8086 mode enhancement          = true
      debugging extensions                   = true
      page size extensions                   = true
      time stamp counter                     = true
      RDMSR and WRMSR support                = true
      physical address extensions            = true
....

4. Comando dmidecode – Mostra informações de hardware do Linux

dmidecode é uma ferramenta para recuperar informações de hardware de qualquer sistema Linux. Ele despeja o conteúdo da tabela DMI (também conhecido como SMBIOS) de um computador em um formato legível para fácil recuperação. A especificação SMBIOS define vários tipos de DMI, para CPU, use “processador” como segue:

sudo dmidecode --type processor
dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.

Handle 0x0004, DMI type 4, 42 bytes
Processor Information
	Socket Designation: U3E1
	Type: Central Processor
	Family: Core i5
	Manufacturer: Intel(R) Corporation
	ID: 51 06 04 00 FF FB EB BF
	Signature: Type 0, Family 6, Model 69, Stepping 1
	Flags:
		FPU (Floating-point unit on-chip)
		VME (Virtual mode extension)
		DE (Debugging extension)
		PSE (Page size extension)
		TSC (Time stamp counter)
		MSR (Model specific registers)
		PAE (Physical address extension)
		MCE (Machine check exception)
		CX8 (CMPXCHG8 instruction supported)
		APIC (On-chip APIC hardware supported)
		SEP (Fast system call)
		MTRR (Memory type range registers)
		PGE (Page global enable)
		MCA (Machine check architecture)
.....

5. Ferramenta Inxi – Mostra informações do sistema Linux

Inxi é um poderoso script de informações do sistema de linha de comando destinado tanto ao console quanto ao IRC (Internet Relay Chat). Você pode usá-lo para recuperar informações de hardware instantaneamente.

Você pode instalar assim:

sudo apt install inxi 	#Debian/Ubuntu systems
sudo yum install inxi		#RHEL/CentOS systems 
sudo dnf install inxi		#Fedora 22+ 

Para exibir informações completas da CPU, incluindo a velocidade do clock da CPU e a velocidade máxima da CPU (se disponível), use o sinalizador -C da seguinte forma:

inxi -C
CPU:       Dual core Intel Core i5-4210U (-HT-MCP-) cache: 3072 KB 
           clock speeds: max: 2700 MHz 1: 1958 MHz 2: 1993 MHz 3: 1775 MHz 4: 1714 MHz

6. Ferramenta lshw – Listar configuração de hardware

lshw é uma ferramenta mínima para coletar informações detalhadas sobre a configuração de hardware de um computador. Você pode usar a opção -C para selecionar a classe de hardware, CPU neste caso:

sudo lshw -C CPU
*-cpu                   
       description: CPU
       product: Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
       vendor: Intel Corp.
       physical id: 4
       bus info: cpu@0
       version: Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
       serial: To Be Filled By O.E.M.
       slot: U3E1
       size: 2626MHz
       capacity: 2700MHz
       width: 64 bits
       clock: 100MHz
       capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts cpufreq
       configuration: cores=2 enabledcores=2 threads=4

7. hardinfo – Mostra informações de hardware na janela GTK+

hardinfo exibe informações de hardware em uma janela GTK+, você pode instalá-lo da seguinte maneira:

sudo apt install hardinfo 	#Debian/Ubuntu systems
sudo yum install hardinfo	#RHEL/CentOS systems 
sudo dnf install hardinfo	#Fedora 22+ 

Depois de instalado, digite:

hardinfo 

Também permite gerar um relatório de informações de hardware do sistema clicando no botão “Gerar relatório”. Na interface abaixo, clique em “Gerar” para prosseguir. Observe que você pode escolher a categoria de informações de hardware a ser gerada.

Depois de gerar o relatório em formato html, você poderá visualizá-lo em um navegador da web, conforme mostrado abaixo.

8. hwinfo – Mostra informações atuais do hardware

hwinfo é usado para extrair informações sobre o hardware presente em um sistema Linux. Para exibir informações sobre sua CPU, use o --cpu

hwinfo --cpu
01: None 00.0: 10103 CPU                                        
  [Created at cpu.460]
  Unique ID: rdCR.j8NaKXDZtZ6
  Hardware Class: cpu
  Arch: X86-64
  Vendor: "GenuineIntel"
  Model: 6.69.1 "Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz"
  Features: fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,ht,tm,pbe,syscall,nx,pdpe1gb,rdtscp,lm,constant_tsc,arch_perfmon,pebs,bts,rep_good,nopl,xtopology,nonstop_tsc,aperfmperf,eagerfpu,pni,pclmulqdq,dtes64,monitor,ds_cpl,vmx,est,tm2,ssse3,sdbg,fma,cx16,xtpr,pdcm,pcid,sse4_1,sse4_2,movbe,popcnt,tsc_deadline_timer,aes,xsave,avx,f16c,rdrand,lahf_lm,abm,epb,tpr_shadow,vnmi,flexpriority,ept,vpid,fsgsbase,tsc_adjust,bmi1,avx2,smep,bmi2,erms,invpcid,xsaveopt,dtherm,ida,arat,pln,pts
  Clock: 2080 MHz
  BogoMips: 4788.92
  Cache: 3072 kb
  Units/Processor: 16
  Config Status: cfg=new, avail=yes, need=no, active=unknown
....

9. nproc – Imprimir número de unidades de processamento

O comando nproc é usado para mostrar o número de unidades de processamento presentes em seu computador:

nproc

Para obter informações e opções adicionais de uso, leia as páginas de manual desses comandos como este:

man commandname

Além disso, confira:

  1. Cpustat – Monitora a utilização da CPU executando processos no Linux
  2. CoreFreq – Uma poderosa ferramenta de monitoramento de CPU para sistemas Linux
  3. Encontre os principais processos em execução por maior uso de memória e CPU no Linux
  4. Como impor alta carga de CPU e teste de estresse no Linux usando a ferramenta ‘Stress-ng’

Por enquanto é isso! Você pode compartilhar conosco maneiras adicionais de extrair informações da CPU no Linux por meio do formulário de feedback abaixo.