Existem várias formas de obter informações sobre o processador no seu sistema Linux. Vou mostrar a minha ferramenta favorita para esta tarefa, juntamente com algumas maneiras adicionais de verificar CPUs no Linux.
obtenha informação do CPU com o comando lscpu
Este é o comando mais simples que mostra a informação do CPU numa saída simples e concisa.
Você pode ver a arquitetura do seu sistema, número de processadores, informações do fornecedor, informações de cache, velocidade do processador, etc.,
é mais fácil de lembrar também porque é semelhante ao comando ls. Podes pensar nisso como “cpu de lista”.
Architecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte Order: Little EndianCPU(s): 4On-line CPU(s) list: 0-3Thread(s) per core: 2Core(s) per socket: 2Socket(s): 1NUMA node(s): 1Vendor ID: GenuineIntelCPU family: 6Model: 142Model name: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHzStepping: 9CPU MHz: 900.054CPU max MHz: 3100.0000CPU min MHz: 400.0000BogoMIPS: 5424.00Virtualization: VT-xL1d cache: 32KL1i cache: 32KL2 cache: 256KL3 cache: 3072KNUMA node0 CPU(s): 0-3Flags: 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 art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp flush_l1d
bem… essa é a informação do processador para o meu sistema e deve parecer um pouco semelhante para o seu sistema Linux também.
Como pode ver, a informação mais importante é que o meu sistema tem processador Intel i5-7200U. Eu posso ir e pesquisar na web para este número de modelo para obter mais informações.
mas o que significa outros campos na saída? Que informações você realmente tem sobre o processador aqui? Deixa-me explicar-te., A informação é muito técnica, por isso você deve ter alguma compreensão básica dos Termos aqui.
lscpu command output explanation
a arquitectura do meu sistema é de 64 bits. O que significa que é um processador de 64 bits.
A CPU op-mods são 32 bit e 64 bit significando que pode operar tanto como um processador 32-bit e 64-bit. Em outras palavras, você pode instalar sistemas operacionais de 32-bit e 64-bit nele.
ordem Byte é pequena Endian. O que significa que os bytes são organizados de acordo com a ordem Endiana.,
As 4 linhas seguintes indicam o número de processadores, CPUs/núcleos e threads. Sugiro que leia este artigo para entender um pouco sobre processadores. Esta imagem da Intel também ajuda a visualizar o que socket, CPU, núcleo, threads significam.
temos que ir na ordem inversa aqui. O meu sistema tem um soquete aqui, o que significa que tem um único chip para os CPUs.
que uma tomada tem 2 núcleos. Significa que o único chip tem dois CPUs físicos nele., Isto diz-lhe o número de núcleos reais, isto é, os CPUs físicos reais.
E como você pode ver, cada núcleo tem dois tópicos. Threads são basicamente CPUs lógicas. Os threads compartilham recursos de execução física do núcleo físico, mas o sistema operacional OS vê como núcleos separados. Leia mais sobre hyper – threading aqui.
em resumo, o meu sistema tem um chip que contém dois CPUs físicos e cada CPU é dividida em dois CPUs lógicos. E assim meu sistema de núcleo duplo é visto como tendo 4 CPUs pelo sistema operacional.
Existe um nó NUMA, o fornecedor é Intel e a família CPU é 6.,
steping é um número usado pela Intel para identificar o nível de mudança de projeto para o qual um microprocessador foi construído.
A velocidade actual do relógio da minha CPU é de 900,054 MHz, enquanto a sua capacidade máxima é de 3100 MHz e 400 MHz.
BogoMIPS é “o número de milhões de vezes por segundo um processador pode fazer absolutamente nada”.
virtualização é VT-x e é usado para “ajudar a acelerar máquinas virtuais criadas em VirtualBox, VMware, Hyper-V, e outros aplicativos”.
As quatro entradas seguintes são sobre cache., Ele tem L1D (cache de dados) de 32K, L1I (cache de instruções) de 32K, cache L2 de 256K e cache L3 de 3072K. leia esta página wiki para obter informações rápidas sobre caches CPU.
Next is NUMA node for each CPU (both logical and physical CPUs).
A última linha é a lista de opções de características que são específicas do fabricante. Pode ler mais sobre eles aqui.
esta imagem resume a informação mais importante do processador que obtém do comando lscpu.,
na minha opinião, o comando lscpu é mais do que suficiente para lhe dar toda a informação de que necessita.
outros comandos para verificar a informação do CPU no Linux
Existem outras formas de obter informação do CPU na linha de comandos do Linux. Deixa-me mostrar-lhes um a um. No entanto, não vou entrar em detalhes para explicar a sua saída.
verifique o conteúdo do /proc / cpuinfo
Se estiver ciente da estrutura de pastas no Linux, já sabe que o proc é uma pasta especial no Linux., É na verdade um sistema de arquivos virtual que contém informações do sistema de tempo de execução, tais como memória do sistema, dispositivos montados, configuração de hardware, etc.
Se quiser informações do CPU, pode ler o conteúdo do ficheiro cpuinfo no directório proc.
você notaria que o arquivo cpuinfo tem informações detalhadas sobre cada núcleo do processador.
Por exemplo, o primeiro núcleo da minha CPU tem a seguinte informação:
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 142 model name : Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz stepping : 9 microcode : 0x8e cpu MHz : 800.026 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 : 22 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 art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp flush_l1d bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf bogomips : 5424.00 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management:
Se você quiser apenas para o número de núcleos de CPU (incluindo físicos e lógicos), você pode usar o comando grep com wc de comando.,
cat /proc/cpuinfo | grep processor | wc -l4
Use lshw command
lshw significa ‘list hardware’. Obviamente, significa listar a informação do hardware.
Uma vez que o comando lshw fornece informações sobre todo o hardware do seu sistema, será difícil encontrar exatamente o que você está procurando.
é por isso que o comando lshw oferece uma opção para reduzir a procura pretendida.,
Para mostrar apenas as informações do processador, você pode usar o comando lshw da seguinte forma:
sudo lshw -class CPU
Isto irá mostrar uma saída como esta:
*-cpu description: CPU product: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz vendor: Intel Corp. physical id: 3f bus info: cpu@0 version: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz serial: To Be Filled By O.E.M. slot: U3E1 size: 2964MHz capacity: 3100MHz 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 art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp flush_l1d cpufreq configuration: cores=2 enabledcores=2 threads=4
Usar hwinfo
hwinfo é outra ferramenta de linha de comando para obter informações de hardware do seu sistema Linux.
provavelmente terá de instalar a ferramenta hwinfo primeiro. No Debian e Ubuntu, você pode usar o comando apt para instalá-lo.,
sudo apt install hwinfo
Depois de instalado, você pode obter a CPU detalhes desta forma:
hwinfo --cpu
Você verá uma saída similar a esta para cada núcleo do CPU:
Comando dmidecode
dmidecode é outro comando para recuperar vários tipos de informações de hardware do seu sistema Linux. Você pode verificar o uso de memória em Linux com ele. Você também pode usá-lo para obter apenas a informação do processador.
sudo dmidecode --type processor
Este comando também necessita de acesso ao sudo., Você verá uma saída como esta:
dmidecode 3.1 Getting SMBIOS data from sysfs. SMBIOS 3.0.0 present. Handle 0x003F, DMI type 4, 48 bytes Processor Information Socket Designation: U3E1 Type: Central Processor Family: Core i5 Manufacturer: Intel(R) Corporation ID: E9 06 08 00 FF FB EB BF Signature: Type 0, Family 6, Model 142, Stepping 9 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) CMOV (Conditional move instruction supported) PAT (Page attribute table) PSE-36 (36-bit page size extension) CLFSH (CLFLUSH instruction supported) DS (Debug store) ACPI (ACPI supported) MMX (MMX technology supported) FXSR (FXSAVE and FXSTOR instructions supported) SSE (Streaming SIMD extensions) SSE2 (Streaming SIMD extensions 2) SS (Self-snoop) HTT (Multi-threading) TM (Thermal monitor supported) PBE (Pending break enabled) Version: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz Voltage: 0.8 V External Clock: 100 MHz Max Speed: 2500 MHz Current Speed: 2400 MHz Status: Populated, Enabled Upgrade: Other L1 Cache Handle: 0x003C L2 Cache Handle: 0x003D L3 Cache Handle: 0x003E Serial Number: To Be Filled By O.E.M. Asset Tag: To Be Filled By O.E.M. Part Number: To Be Filled By O.E.M. Core Count: 2 Core Enabled: 2 Thread Count: 4 Characteristics: 64-bit capable Multi-Core Hardware Thread Execute Protection Enhanced Virtualization Power/Performance Control
Conclusion
claro, existem muitas mais ferramentas que lhe fornecem informações de hardware em Linux. Você pode usá-los para obter informações do CPU também.
na minha opinião, o lscpu é o melhor comando se não se quiser lembrar de nada. Você também pode confiar no arquivo/proc / cpuinfo. Use estes dois e estará pronto.
Uma vez que você aprendeu a verificar a informação do CPU, talvez você gostaria de ler sobre a verificação da Informação do disco no Linux também.