Gibt es im Linux-Terminal eine Möglichkeit, die Prozessor-Mikroarchitektur direkt zu finden?

1085
EBM

Gibt es im Linux-Terminal eine Möglichkeit, die Prozessor-Mikroarchitektur direkt zu finden? Zum Beispiel, wenn es sich um Nehalem, Westmere oder Sandy Bridge handelt, auch wenn es sich um eine installierbare Anwendung handelt.

Danke im Voraus.

1
Ist nicht genug "/ proc / cpuinfo"? Ipor Sircer vor 7 Jahren 0

2 Antworten auf die Frage

2
CBHacking

Theoretisch ist der Befehl, nach dem Sie suchen lscpu, der Name der CPU-Generation als Textzeichenfolge.

Beispielausgabe:

$ lscpu 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 Vendor ID: GenuineIntel CPU family: 6 Model: 78 Stepping: 3 CPU MHz: 2808.000 BogoMIPS: 5616.00 Hypervisor vendor: Microsoft Virtualization type: full 

Die relevanten Werte sind CPU-Familie und Modell . Sie können diese Werte (nachdem Sie Dezimalwerte in Hexadezimalwerte konvertiert haben, oder umgekehrt) mit diesem Diagramm von Intel vergleichen, wenn Sie eine ältere CPU haben. Dieses Diagramm wurde jedoch seit 2012 nicht aktualisiert. Es gibt einen Kommentar mit neueren Informationen ( Mai 2015).

Zum Beispiel hat meine CPU in den obigen Daten die Familie 6 und das Modell 78 (0x4E). Dies ist leider nicht in der Tabelle aufgeführt.

Ein alternativer Befehl ist cat /proc/cpuinfo. Dies erzeugt weitgehend die gleichen Informationen, aber auch die Modellnamenzeile, die die Modellnummer des Prozessors enthält. Zum Beispiel bekomme ich Folgendes:

$cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 78 model name : Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz stepping : 3 microcode : 0xffffffff cpu MHz : 2808.000 cache size : 256 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 6 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm pni pclmulqdq est tm2 ssse3 fma cx16 xtpr sse4_1 sse4_2 movbe popcnt aes xsave osxsave avx f16c rdrand hypervisor bogomips : 5616.00 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:  ... 

Daraus ist ersichtlich, dass ich einen Intel® Core (TM) i7-6600U habe, der eine sechste Generation ist (erste Nummer nach dem "i7-" - Teil; siehe Intel-Seite zu Prozessornummern ) Prozessor der Core-Familie . Leider gibt es keine wirklich einfache Möglichkeit, diese Informationen auf eine nette Zeichenfolge wie "Skylake" zurückzuführen.

Der beste Weg, den ich gefunden habe, ist http://ark.intel.com/ und geben Sie Ihren Modellstring ("i7-6600U") in das Suchfeld ein. Wählen Sie die Sache aus, die auftaucht (es sollte nur sein) ein), und aktivieren Sie das Kontrollkästchen "Verwandte Produkte" auf der rechten Seite. Es gibt eine Zeile mit der Aufschrift "Produkte früher <CODENAME>", mit der Sie den Codenamen finden können. Ich weiß, das ist weit von einem ordentlichen Ansatz geeignet für ein Skript, aber wenn alles, was Sie über Pflege ist die Generation, Sie können Skript, dass ein Teil mit dem, was oben gegeben ist.

2
nimda

Prozessor-Codenamen sind nicht standardmäßig von integrierten Tools aus verfügbar. Am nächsten erhalten Sie die Modellnummer des Prozessors, indem Sie Folgendes verwenden:

lscpu oder cat /proc/cpuinfo

Zeigt nur das Prozessormodell an: lscpu | grep -i "Model name:" | cut -d':' -f2- -

In dieser Quelle wird auch das Herunterladen von hwloc vorgeschlagen

Hwloc (Portable Hardware Locality) ist ein kleines Dienstprogramm, das die Struktur des Prozessors in einem übersichtlichen visuellen Diagramm darstellt. Das Diagramm zeigt die Anzahl der Kerne, Hyperthreads und die Cachegröße. Ein einziges Diagramm zeigt alles.

sudo apt-get install hwloc hwloc

Der Mikroarchitektur-Codename wird unterhalb des Diagramms aufgeführt.