Lesen CPU-Flags von Cpuinfo

Yahya Irmak 24 März 2022
Lesen CPU-Flags von Cpuinfo

Dieser Artikel erklärt, wie man cpuinfo-Informationen unter Linux liest. Später werden wir untersuchen, was CPU-Flags sind und welche Bedeutung sie haben.

Lesen von cpuinfo in Linux

Die Datei /proc/cpuinfo enthält detaillierte Informationen über die CPUs im Computer. Verwenden Sie den folgenden Befehl, um den Inhalt der Datei zu lesen.

cat /proc/cpuinfo

CPUinfo

Hier können wir sehen,

  • Anzahl der Prozessoren,
  • CPU-Hersteller, Familie, Modellname,
  • Die Anzahl der Kerne der CPU,
  • Cache-, TLB-, clflush- und Adressgrößen,
  • Viele Flaggen und andere Informationen.

Im Rest des Artikels erklären wir, was die häufigsten dieser Flaggen bedeuten. Detaillierte Informationen zu allen Flags finden Sie unter arch/x86/include/asm/cpufeature.h.

Die häufigsten Flags in /proc/cpuinfo

Eine CPU kann Hunderte von Funktionen haben, die von Modell zu Modell variieren. Hier werden wir die Definitionen der gebräuchlichsten Flaggen einschließen, wie sie im offiziellen Dokument beschrieben sind.

Von AMD definierte CPU-Funktionen

Flagge Beschreibung
SYSCALL SYSCALL/SYSRET
MP MP-fähig
NX Deaktivieren ausführen
MMXEXT AMD MMX-Erweiterungen
FXSR_OPT FXSAVE/FXRSTOR-Optimierungen
GB-Seiten pdpe1gb GB-Seiten
LM Langer Modus (x86-64)

Erweiterte AMD-Flags

Flagge Beschreibung
LAHF_LM LAHF/SAHF im langen Modus
CMP_LEGACY Wenn ja, ist HyperThreading nicht gültig
SVM Sichere virtuelle Maschine
ABM Erweiterte Bit-Manipulation
MISALIGNSSE Falsch ausgerichteter SSE-Modus
3DNOWPREFETCH 3DNow-Prefetch-Anweisungen
OSVW Betriebssystem sichtbare Problemumgehung
RDS Anweisungsbasiertes Sampling
XOP erweiterte AVX-Anweisungen
SKINIT SKINIT/STGI-Anweisungen
WDT Watchdog-Timer
LWP Leichte Profilierung
TCE Übersetzungscache-Erweiterung
TBM Trailing-Bit-Manipulationen
TOPOEXT Topologieerweiterungen CPUID-Blätter
PERFCTR_CORE Kernleistungszähler-Erweiterungen
BPEXT Data Breakpoint-Erweiterung

Von Intel definierte CPU-Funktionen

Flagge Beschreibung
FPU Onboard-FPU
VME Erweiterungen im virtuellen Modus
DE Debuggen von Erweiterungen
PS Seitengrößenerweiterungen
TSC Zeitstempelzähler
MSR Modellspezifische Register
PAE Physische Adresserweiterungen
MCE Ausnahme bei der Maschinenüberprüfung
MTRR Speichertyp-Bereichsregister
PGE Seite Global aktivieren
MCA Architektur der Maschinenprüfung
PAT Seitenattributtabelle
MMX Multimedia-Erweiterungen
PBE Ausstehende Break-Aktivierung
DTES64 64-Bit-Debug-Speicher
MWAIT monitor Monitor/Mwait-Unterstützung
VMX Hardware-Virtualisierung
SMX Sicherer Modus
TM2 Wärmemonitor 2
XTPR Nachrichten zur Aufgabenpriorität senden
PDCM Leistungsfähigkeiten
PCID Prozesskontextkennungen
DCA Direkter Cache-Zugriff
HYPERVISOR Läuft auf einem Hypervisor

Virtualisierungs-Flags

Flagge Beschreibung
EPT Erweiterte Seitentabelle von Intel
VPID ID des virtuellen Intel-Prozessors
NPT Unterstützung von AMD Nested Page Table
LBRV Unterstützung für AMD LBR-Virtualisierung
NIPS nrip_save AMD SVM next_rip speichern
TSCRATEMSR tsc_scale AMD TSC-Skalierungsunterstützung
VMCBCLEAN vmcb_clean AMD VMCB-Clean-Bit-Unterstützung
FLUSHBYASID AMD Flush-by-ASID-Unterstützung
DECODEASSISTS Unterstützung für AMD Decode Assists
PAUSEFILTER AMD-gefilterter Pausenabschnitt
PFTHRESHOLD AMD-Pausenfilterschwelle
VMMCALL Bevorzugen Sie vmmcall gegenüber vmcall

Hilfsflaggen

Flagge Beschreibung
IDA Intel dynamische Beschleunigung
ARAT APIC-Timer läuft immer
CPB AMD Core-Leistungssteigerung
EPB IA32_ENERGY_PERF_BIAS-Unterstützung
PLN Intel Power Limit-Benachrichtigung
PTS Thermischer Status des Intel-Pakets
DTHERM Digitaler Wärmesensor
PROC_FEEDBACK AMD ProcFeedbackInterface
INTEL_PT Intel-Prozessor-Trace

Erkannte Bug-Flags

Flagge Beschreibung
F00F Intel F00F
FDIV FPU FDIV
COMA Cyrix 6x86 Koma
AMD_TLB_MMATCH tlb_mmatch AMD Erratum 383
AMD_APIC_C1E apic_c1e AMD Erratum 400
11AP Schlechter lokaler APIC alias 11AP
FXSAVE_LEAK FXSAVE leckt FOP/FIP/FOP
CLFLUSH_MONITOR AAI65, CLFLUSH vor MONITOR erforderlich
SYSRET_SS_ATTRS SYSRET repariert keine SS-Attribute
Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn