GNU/Linux >> Znalost Linux >  >> Linux

5 způsobů, jak zkontrolovat informace o CPU v Linuxu

Existuje několik způsobů, jak získat informace o procesoru ve vašem systému Linux. Ukážu vám můj oblíbený nástroj pro tento úkol spolu s několika dalšími způsoby kontroly CPU v Linuxu.

Získejte informace o CPU pomocí příkazu lscpu

Toto je nejjednodušší příkaz, který zobrazuje informace o CPU v jednoduchém a stručném výstupu.

Můžete vidět architekturu vašeho systému, počet procesorů, informace o dodavateli, informace o mezipaměti, rychlost procesoru atd.

Je také snazší si jej zapamatovat, protože je podobný příkazu ls. Můžete si to představit jako ‚seznam cpu‘.

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:               142
Model name:          Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
Stepping:            9
CPU MHz:             900.054
CPU max MHz:         3100.0000
CPU min MHz:         400.0000
BogoMIPS:            5424.00
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 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

No… to jsou informace o procesoru pro můj systém a měly by vypadat trochu podobně i pro váš systém Linux.

Jak vidíte, nejdůležitější informací je, že můj systém má procesor Intel i5-7200U. Mohu jít a vyhledat na webu toto číslo modelu, abych získal další informace.

Co ale znamenají ostatní pole ve výstupu? Jaké informace o procesoru zde skutečně máte? Dovolte mi, abych vám to vysvětlil. Informace jsou příliš technické, takže byste měli alespoň trochu rozumět zde uvedeným termínům.

Vysvětlení výstupu příkazu lscpu

Architektura mého systému je 64bitová. Což znamená, že se jedná o 64bitový procesor.

Operační mody CPU jsou 32bitové a 64bitové, což znamená, že může fungovat jako 32bitový i 64bitový procesor. Jinými slovy, můžete na něj nainstalovat 32bitové i 64bitové operační systémy.

Pořadí bajtů je Little Endian. Což znamená, že bajty jsou uspořádány podle pořadí Little Endian.

Následující 4 řádky vám řeknou o počtu procesorů, CPU/jádrů a vláken. Doporučuji přečíst si tento článek, abyste trochu porozuměli procesorům. Tento obrázek od Intelu také pomáhá při vizualizaci toho, co znamená socket, CPU, jádro, vlákna.

Zde musíme postupovat v opačném pořadí. Můj systém má zde 1 patici, což znamená, že má jeden čip pro CPU.

Ta jedna zásuvka má 2 jádra. To znamená, že jeden čip má na sobě dva fyzické CPU. To vám říká počet skutečných jader, tj. skutečných fyzických CPU.

A jak vidíte, každé jádro má dvě vlákna. Vlákna jsou v podstatě logická CPU. Vlákna sdílejí prostředky fyzického provádění fyzického jádra, ale operační systém je vidí jako samostatná jádra. Přečtěte si více o hypervlákně zde.

Stručně řečeno, můj systém má jeden čip, který obsahuje dva fyzické CPU a každý CPU je rozdělen na dva logické CPU. Můj dvoujádrový systém je tedy operačním systémem vnímán tak, že má 4 CPU.

Existuje jeden uzel NUMA, dodavatelem je Intel a rodina CPU je 6.

Číslo modelu CPU je 142 (podle mého názoru není relevantní) a název modelu je Intel(R) Core(TM) CPU i5-7200U @ 2,50 GHz (nejdůležitější informace).

Krokování je číslo, které Intel používá k identifikaci toho, na jakou úroveň konstrukční změny byl mikroprocesor postaven.

Aktuální taktovací frekvence mého CPU je 900,054 MHz, přičemž jeho maximální kapacita je 3100 MHz a 400 MHz.

BogoMIPS je „počet milionůkrát za sekundu, kdy procesor nemůže udělat absolutně nic“.

Virtualizace je VT-x a používá se k „urychlení virtuálních strojů vytvořených v aplikacích VirtualBox, VMware, Hyper-V a dalších“.

Další čtyři položky se týkají cache. Má L1D (data cache) 32K, L1I (instrukční cache) 32K, L2 cache 256K a L3 cache 3072K. Přečtěte si tuto wiki stránku a získejte rychlé informace o mezipaměti CPU.

Další je uzel NUMA pro každý CPU (logický i fyzický CPU).

Poslední řádek je seznam příznaků funkcí, které jsou specifické pro výrobce. Více si o nich můžete přečíst zde.

Tento obrázek shrnuje nejdůležitější informace o procesoru, které získáte z příkazu lscpu.

Podle mého názoru je příkaz lscpu více než dostatečný, aby vám poskytl všechny informace, které potřebujete.

Další příkazy pro kontrolu informací o CPU v Linuxu

Existují další způsoby, jak získat informace o CPU v příkazovém řádku Linuxu. Dovolte mi, abych je jeden po druhém ukázal. Nebudu však podrobně vysvětlovat jejich výstup.

1. Zkontrolujte obsah /proc/cpuinfo

Pokud jste si vědomi adresářové struktury v Linuxu, již víte, že proc je speciální adresář v Linuxu. Je to vlastně virtuální souborový systém, který obsahuje informace o systému za běhu, jako je systémová paměť, připojená zařízení, konfigurace hardwaru atd.

Pokud chcete informace o CPU, můžete si přečíst obsah souboru cpuinfo v adresáři proc.

Všimněte si, že soubor cpuinfo obsahuje podrobné informace o každém jádru procesoru.

Například první jádro mého CPU má následující informace:

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:

Pokud chcete pouze počet jader CPU (včetně fyzických i logických), můžete použít příkaz grep s příkazem wc.

cat /proc/cpuinfo | grep processor | wc -l

4

2. Použijte příkaz lshw

lshw znamená ‚seznam hardwaru‘. Zcela zjevně to znamená vypsat informace o hardwaru.

Protože příkaz lshw poskytuje informace o veškerém hardwaru ve vašem systému, bude obtížné najít přesně to, co hledáte.

To je důvod, proč příkaz lshw poskytuje možnost zúžit zamýšlené hledání.

Chcete-li zobrazit pouze informace o procesoru, můžete použít příkaz lshw následujícím způsobem:

sudo lshw -class CPU

Zobrazí se výstup podobný tomuto:

*-cpu                     
        description: CPU
        product: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
        vendor: Intel Corp.
        physical id: 3f
        bus info: [email protected]
        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

3. Použijte hwinfo

hwinfo je další nástroj příkazového řádku pro získání informací o hardwaru vašeho systému Linux.

Pravděpodobně budete muset nejprve nainstalovat nástroj hwinfo. Na Debianu a Ubuntu můžete k instalaci použít příkaz apt.

sudo apt install hwinfo

Po instalaci můžete získat podrobnosti o CPU tímto způsobem:

hwinfo --cpu

Pro každé jádro CPU uvidíte výstup podobný tomuto:

01: None 00.0: 10103 CPU                                        
   [Created at cpu.460]
   Unique ID: rdCR.j8NaKXDZtZ6
   Hardware Class: cpu
   Arch: X86-64
   Vendor: "GenuineIntel"
   Model: 6.142.9 "Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz"
   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,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
   Clock: 3050 MHz
   BogoMips: 5424.00
   Cache: 3072 kb
   Units/Processor: 16
   Config Status: cfg=new, avail=yes, need=no, active=unknown

4. Příkaz dmidecode

dmidecode je další příkaz pro získání různých druhů informací o hardwaru vašeho systému Linux. Můžete s ním zkontrolovat využití paměti v Linuxu. Můžete jej také použít k získání pouze informací o procesoru.

sudo dmidecode --type processor

Tento příkaz také potřebuje sudo přístup. Uvidíte výstup podobný tomuto:

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

Závěr

Samozřejmě existuje mnohem více nástrojů, které vám v Linuxu poskytují informace o hardwaru. Můžete je také využít k získání informací o CPU.

Podle mého názoru je lscpu nejlepší příkaz, pokud si nechcete nic pamatovat. Můžete se také spolehnout na soubor /proc/cpuinfo. Stačí použít tyto dva a budete připraveni.

Protože jste se naučili kontrolovat informace o CPU, možná byste si chtěli přečíst o kontrole informací o disku v Linuxu.

Doufám, že se vám tento návod líbil. Pokud máte dotazy nebo návrhy, zanechte prosím níže komentář.


Linux
  1. Jak zkontrolovat verzi OS a Linuxu

  2. Jak zkontrolovat, zda je systém Linux 32bitový nebo 64bitový

  3. Jak zkontrolovat dostupnost systému v Linuxu

  1. Jak zkontrolovat teplotu CPU v Linuxu

  2. Jak zkontrolovat verzi jádra v Linuxu

  3. Zkontrolujte zatížení systému v systému Linux

  1. Jak zkontrolovat verzi Linuxu

  2. Jak zkontrolovat nebo najít informace o CPU v Linuxu

  3. Jak zkontrolovat dostupnost na linuxovém serveru