So überprüfen Sie, ob bestimmte CPU-Funktionen in Linux verfügbar sind

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie auf Ihrem Linux-System nach bestimmten verfügbaren CPU-Funktionen (CPU features) suchen können. Sie werden verschiedene Methoden zur Untersuchung der CPU-Informationen erkunden. Beginnen Sie mit dem grundlegenden Befehl cat /proc/cpuinfo, um detaillierte CPU-Spezifikationen und Flags anzuzeigen.

Nach der ersten Untersuchung nutzen Sie den Befehl lscpu, um eine strukturierte Übersicht über die CPU-Architektur und -Fähigkeiten zu erhalten. Abschließend gehen Sie mit dmidecode auf Hardware-Details ein, um weitere Einblicke in die Komponenten Ihres Systems, einschließlich der CPU-Informationen, zu gewinnen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") subgraph Lab Skills linux/cat -.-> lab-558803{{"So überprüfen Sie, ob bestimmte CPU-Funktionen in Linux verfügbar sind"}} linux/sudo -.-> lab-558803{{"So überprüfen Sie, ob bestimmte CPU-Funktionen in Linux verfügbar sind"}} end

Auflisten der CPU-Funktionen (CPU features) mit cat /proc/cpuinfo

In diesem Schritt lernen Sie, wie Sie die CPU-Informationen Ihres Linux-Systems mithilfe des cat-Befehls und der Datei /proc/cpuinfo untersuchen können.

Das /proc-Dateisystem ist ein virtuelles Dateisystem in Linux, das Informationen über Prozesse und andere Systeminformationen bereitstellt. Die Datei /proc/cpuinfo enthält Details über die in Ihrem System installierten CPU(s).

Der cat-Befehl ist ein grundlegendes Linux-Werkzeug, das zum Anzeigen des Inhalts von Dateien verwendet wird.

Öffnen Sie Ihr Terminal, wenn es noch nicht geöffnet ist. Sie können dies tun, indem Sie auf das Symbol Xfce Terminal auf der linken Seite Ihres Desktops klicken.

Geben Sie jetzt den folgenden Befehl ein, um den Inhalt der Datei /proc/cpuinfo anzuzeigen:

cat /proc/cpuinfo

Drücken Sie die Eingabetaste.

Sie werden eine Vielzahl von Ausgaben sehen, die verschiedene Aspekte Ihrer CPU detailliert beschreiben. Die Ausgabe wird in etwa so aussehen (Teile der Ausgabe wurden aus Gründen der Kürze und Allgemeingültigkeit weggelassen):

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 158
model name      : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
stepping        : 9
microcode       : 0x...
cpu MHz         : ...
cache size      : ... KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : ...
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc 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 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms rtm invpcid mpx rdseed adx smap clflushopt xsaves xsaveopt pcpe bts md_clear flush_l1d arch_capabilities
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds mmio_stale_data retbleed
bogomips        : ...
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
...

Diese Datei bietet detaillierte Informationen über jeden CPU-Kern, einschließlich seines Herstellers, des Modells, der Geschwindigkeit, der Cache-Größe und der unterstützten Funktionen (aufgelistet unter flags).

Das Verständnis der Ausgabe von /proc/cpuinfo ist hilfreich für die Fehlerbehebung und das Verständnis der Fähigkeiten der Hardware Ihres Systems.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Überprüfen der Funktionen (Features) mit lscpu

Im vorherigen Schritt haben Sie cat /proc/cpuinfo verwendet, um detaillierte CPU-Informationen anzuzeigen. Obwohl /proc/cpuinfo umfassend ist, kann die Ausgabe recht ausführlich und manchmal schwer schnell zu analysieren sein.

Ein benutzerfreundlicherer Befehl, um eine Zusammenfassung der CPU-Architekturinformationen zu erhalten, ist lscpu. Der lscpu-Befehl sammelt die CPU-Architekturinformationen aus /proc/cpuinfo und stellt sie in einer gut formatierten, menschenlesbaren Ausgabe dar.

Lassen Sie uns den lscpu-Befehl verwenden, um eine Zusammenfassung Ihrer CPU zu erhalten.

Geben Sie den folgenden Befehl in Ihrem Terminal ein:

lscpu

Drücken Sie die Eingabetaste.

Sie werden eine knappe Zusammenfassung der Architektur Ihrer CPU sehen. Die Ausgabe wird in etwa so aussehen:

Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         39 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  1
  On-line CPU(s) list:   0
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc 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 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms rtm invpcid mpx rdseed adx smap clflushopt xsaves xsaveopt pcpe bts md_clear flush_l1d arch_capabilities
L1d cache:               32K
L1i cache:               32K
L2 cache:                256K
L3 cache:                6M
NUMA node(s):            1
  NUMA node0 CPU(s):     0
Vulnerability Itlb multihit:  KVM: Mitigation: VMX disabled
Vulnerability L1tf:      Mitigation: PTE Inversion; VMX conditional cache flushes, SMT disabled
Vulnerability Mds:       Mitigation: Clear CPU buffers; SMT disabled
Vulnerability Meltdown:  Mitigation: PTI
Vulnerability Mmio stale data: Mitigation: Clear CPU buffers; SMT disabled
Vulnerability Retbleed:  Mitigation: IBPB conditional, IBRS_FW, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Spec store bypass: Mitigation: Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:  Mitigation: Invalidate IBPB conditional, INDIR branch predictor by IBPB_FW, STIBP disabled
Vulnerability Spectre v2:  Mitigation: IBPB conditional, IBRS_FW, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:     Mitigation: Microcode
Vulnerability Tsx async abort: Not affected

Beachten Sie, wie lscpu die Informationen in einem strukturierten Format präsentiert, was es einfacher macht, spezifische Details wie die Architektur, die CPU-Betriebsmodi (CPU op-modes), die Hersteller-ID (Vendor ID), den Modellnamen und eine Zusammenfassung der Flags (CPU-Funktionen) zu finden.

Während cat /proc/cpuinfo Ihnen die Rohdaten liefert, bietet lscpu eine analysierte und organisierte Ansicht, die oft für einen schnellen Überblick bequemer ist.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Untersuchung der Hardware mit dmidecode

In den vorherigen Schritten haben Sie die CPU-Informationen mit cat /proc/cpuinfo und lscpu untersucht. Jetzt schauen wir uns ein allgemeineres Tool zur Untersuchung der Hardware Ihres Systems an: dmidecode.

dmidecode ist ein Tool, das die DMI (Desktop Management Interface) oder SMBIOS (System Management BIOS)-Tabelle eines Computers ausliest. Diese Tabelle enthält Informationen über die Hardwarekomponenten des Systems, wie z. B. die Mainboard, die BIOS, den Arbeitsspeicher und vieles mehr.

Da dmidecode auf niedrigere Systeminformationen zugreift, benötigt es Root-Rechte. Sie können den sudo-Befehl verwenden, um dmidecode mit diesen Rechten auszuführen. Denken Sie daran, dass der Benutzer labex in dieser Umgebung sudo-Zugang ohne Passwort hat.

Geben Sie den folgenden Befehl in Ihrem Terminal ein, um die vollständigen DMI-Informationen anzuzeigen:

sudo dmidecode

Drücken Sie die Eingabetaste.

Sie werden eine große Menge an Ausgabe sehen, die verschiedene Hardwarekomponenten detailliert beschreibt. Die Ausgabe ist in verschiedene "Handles" oder Abschnitte strukturiert, die jeweils einen bestimmten Teil des Systems beschreiben (z. B. BIOS-Informationen, Systeminformationen, Mainboard-Informationen, Arbeitsspeichergerät).

Hier ist ein Auszug aus dem, was Sie sehen könnten (die Ausgabe variiert je nach Konfiguration der virtuellen Maschine):

## dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: Google
        Version: Google
        Release Date: 01/01/2011
        Address: 0xE8000
        Runtime Size: 96 kB
        ROM Size: 128 kB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                BIOS ROM is socketed
                EDD is supported
                5.25" / 1.2MB floppy services are supported (int 13h)
                3.5" / 720kB floppy services are supported (int 13h)
                3.5" / 2.88MB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                CGA/mono video services are supported (int 10h)
                NEC PC-98
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 0.0

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: Google
        Product Name: Google Compute Engine
        Version: pc-i440fx-xenial
        Serial Number: ...
        UUID: ...
        Wake-up Type: Power Switch
        SKU Number: ...
        Family: Virtual Machine

Handle 0x0002, DMI type 2, 10 bytes
Baseboard Information
        Manufacturer: Google
        Product Name: Google Compute Engine
        Version: pc-i440fx-xenial
        Serial Number: ...
        Asset Tag: No Asset Tag
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: Not Specified
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0

... (more output)

Sie können auch den Typ der Informationen angeben, die Sie sehen möchten, indem Sie die Option -t verwenden. Beispielsweise, um nur Speicherinformationen anzuzeigen:

sudo dmidecode -t memory

Drücken Sie die Eingabetaste.

Dies filtert die Ausgabe, um nur Details zu den Arbeitsspeichergeräten des Systems anzuzeigen.

dmidecode ist ein leistungsstarkes Tool zum Sammeln detaillierter Hardware-Spezifikationen, ohne den Computer öffnen zu müssen. Es ist besonders nützlich für die Inventur der Hardware oder die Fehlerbehebung von hardwarebezogenen Problemen.

Klicken Sie auf Weiter, um dieses Lab abzuschließen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie in Linux nach bestimmten CPU-Funktionen (Features) suchen können. Sie haben begonnen, indem Sie den cat-Befehl verwendet haben, um die detaillierten CPU-Informationen anzuzeigen, die in der virtuellen Datei /proc/cpuinfo enthalten sind. Diese Datei bietet eine umfassende Liste der CPU-Eigenschaften und der unterstützten Flags. Dieser erste Schritt hat Sie mit dem Zugriff auf Systeminformationen über das /proc-Dateisystem vertraut gemacht.