Jak sprawdzić architekturę CPU w Linux

Jak sprawdzić architekturę CPU w systemie Linux?

Znajomość architektury CPU jest ważna dla każdego bardziej zaawansowanego użytkownika użytkownika komputera. Dowiedz się, jak sprawdzić architekturę CPU w systemie Linux.

Czym jest architektura procesora CPU?

Architektura CPU to – w dużym uproszczeniu – sposób, w jaki zbudowany jest procesor. Obejmuje ona w szczególności dane dotyczące zestawu instrukcji, rejestrów widocznych dla programisty, organizacji pamięci, wejść i wyjść, sposobu obsługi wieloprocesorowości.

Na architekturę CPU składają się w szczególności:

  • Model programowy procesora (ISA) – dotyczy organizacji, funkcjonalności i zasad działania procesora, widoczne z punktu widzenia programisty jako dostępne mechanizmy programowania. Obejmuje m.in. listę rozkazów procesora, obsługiwane typy danych, dostępne typy adresowania, zestaw rejestrów, zasady obsługi wyjątków i przerwań.
  • Mikroarchitektura procesora – sprzętowa implementacja procesora definiująca sposób jego działania.

Do najpopularniejszych architektur CPU należą obecnie x86 (oraz x86_64 lub amd64 dla wersji 64-bitowej) stosowane głównie w serwerach, komputerach stacjonarnych i laptopach, a także architektura ARM, która rządzi w świecie urządzeń przenośnych, coraz częściej trafia jednak również do serwerów i komputerów, w tym najnowszych Maków od Apple. O wiele rzadziej spotykane są architektury MIPS, PowerPC, RISC-V i inne.

Jak sprawdzić architekturę CPU w Linux?

Poniżej przedstawiamy dwa sposoby na sprawdzenie architektury procesora w systemie Linux przy pomocy systemowych narzędzi.

Polecenie lscpu

Polecenie lscpu pozwala wyświetlić szczegółowe informacje o zainstalowanym w komputerze procesorze, w tym – oczywiście – o jego architekturze.

W celu sprawdzenia architektury CPU przy pomocy tego polecenia należy uruchomić terminal i wpisać:

lscpu

Po wykonaniu polecenia wyświetlą się informacje podobne do tych poniżej:

Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         40 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  4
  On-line CPU(s) list:   0-3
Vendor ID:               GenuineIntel
  Model name:            Intel Core Processor (Haswell, no TSX)
    CPU family:          6
    Model:               60
    Thread(s) per core:  1
    Core(s) per socket:  1
    Socket(s):           4
    Stepping:            1
    BogoMIPS:            4788.90
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtsc
                         p lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2
                          x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault invpcid_singl
                         e pti tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat
Virtualization features: 
  Virtualization:        VT-x
  Hypervisor vendor:     KVM
  Virtualization type:   full
Caches (sum of all):     
  L1d:                   128 KiB (4 instances)
  L1i:                   128 KiB (4 instances)
  L2:                    16 MiB (4 instances)
  L3:                    64 MiB (4 instances)
NUMA:                    
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-3
Vulnerabilities:         
  Itlb multihit:         KVM: Mitigation: VMX disabled
  L1tf:                  Mitigation; PTE Inversion; VMX conditional cache flushes, SMT disabled
  Mds:                   Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
  Meltdown:              Mitigation; PTI
  Mmio stale data:       Not affected
  Spec store bypass:     Vulnerable
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; Retpolines, STIBP disabled, RSB filling
  Srbds:                 Unknown: Dependent on hypervisor status
  Tsx async abort:       Not affected

Informacja o architekturze procesora jest prezentowana już w pierwszej linijce. Na podanym przykładzie jest to architektura x86_64.

Architecture: x86_64

Polecenie uname

Prezentowane powyżej polecenie lscpu wyświetla pełne informacje o procesorze. Dane o architekturze CPU można jednak pozyskać w sposób jeszcze prostszy przy pomocy polecenia:

uname -m 

Jako odpowiedź wyświetlona zostanie jedynie informacja o architekturze CPU:

x86_64
Udostępnij ten artykuł
Skopiuj powyższy link
Poprzedni

Jak zainstalować Dockera na Ubuntu?

Następny

Jak zainstalować i skonfigurować AWS CLI?