Untersuchen der CPU-Flags in /proc/cpuinfo
In diesem Schritt werden Sie die Datei /proc/cpuinfo
erkunden. Dies ist eine virtuelle Datei, die vom Linux-Kernel bereitgestellt wird und Informationen über die CPU(s) in Ihrem System enthält. Diese Datei ist eine ausgezeichnete Quelle für Details über Ihren Prozessor, einschließlich seines Modells, seiner Geschwindigkeit, der Cache-Größe und der unterstützten Funktionen (Flags).
Das /proc
-Dateisystem ist ein Pseudo-Dateisystem, das eine Schnittstelle zu Kernel-Datenstrukturen bietet. Dateien innerhalb von /proc
werden nicht auf der Festplatte gespeichert, sondern werden vom Kernel dynamisch erzeugt, wenn Sie auf sie zugreifen.
Um den Inhalt von /proc/cpuinfo
anzuzeigen, können Sie ein Befehlszeilen-Programm wie cat
oder less
verwenden. cat
gibt den gesamten Inhalt im Terminal aus, während less
es Ihnen ermöglicht, den Inhalt seitenweise zu scrollen. Da /proc/cpuinfo
recht lang sein kann, ist less
oft bequemer.
Öffnen Sie Ihr Terminal und geben Sie den folgenden Befehl ein, um die CPU-Informationen mit cat
anzuzeigen:
cat /proc/cpuinfo
Sie werden detaillierte Informationen für jeden CPU-Kern in Ihrem System sehen. Die Ausgabe wird Zeilen wie processor
, vendor_id
, model name
, cpu MHz
, cache size
und flags
enthalten.
Hier ist ein Beispiel für das, was Sie sehen könnten (Teile der Ausgabe wurden aus Gründen der Kürze weggelassen):
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 158
model name : Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
stepping : 13
microcode : 0xffffffff
cpu MHz : 2904.000
cache size : 16384 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
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 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 ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds mmio_stale_data retbleed
bogomips : 5808.00
clflush size : 64
cache_alignment : 64
address sizes : 43 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 158
model name : Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
stepping : 13
microcode : 0xffffffff
cpu MHz : 2904.000
cache size : 16384 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
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 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 ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds mmio_stale_data retbleed
bogomips : 5808.00
clflush size : 64
cache_alignment : 64
address sizes : 43 bits physical, 48 bits virtual
power management:
Die Zeile flags
ist besonders interessant, da sie die verschiedenen Funktionen und Erweiterungen auflistet, die von Ihrer CPU unterstützt werden. Diese Flags geben Fähigkeiten wie die Unterstützung von Virtualisierung (vmx
oder svm
), bestimmte Befehlssätze (wie sse
, avx
) und Sicherheitsfunktionen an.
Sie können auch grep
verwenden, um nach spezifischen Informationen innerhalb von /proc/cpuinfo
zu suchen. Beispielsweise können Sie den folgenden Befehl verwenden, um den Modellnamen zu finden:
grep "model name" /proc/cpuinfo
Dies wird den Modellnamen für jeden CPU-Kern ausgeben:
model name : Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
model name : Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
Oder um zu prüfen, ob ein bestimmtes Flag, wie vmx
(Intel VT-x-Virtualisierungsunterstützung), vorhanden ist:
grep "vmx" /proc/cpuinfo
Wenn vmx
in der Ausgabe vorhanden ist, unterstützt Ihre CPU die Intel VT-x-Virtualisierung.
Das Erkunden von /proc/cpuinfo
ist eine grundlegende Methode, um die Fähigkeiten des Prozessors Ihres Systems direkt aus der Sicht des Kernels zu verstehen.
Klicken Sie auf Weiter, um dieses Lab abzuschließen.