So überprüfen Sie Prozessor-und CPU-Details unter Linux-Befehlsbeispiele

0 Comments

Prozessor – /CPU-Details

Zu den Details des Prozessors, über den wir sprechen werden, gehören Anzahl der Kerne, Verfügbarkeit von Hyper-Threading, Architektur, Cache-Größe usw.

Diese Details zur CPU auf Ihrem System zu finden, kann etwas schwierig sein, da verschiedene Befehle sie überprüfen.

Zu den Befehlen, die wir verwenden werden, gehören lscpu, / proc / cpuinfo und lstopo (hwloc).,
Diese Befehle zeigen detaillierte Informationen über die CPU-Kerne / Verarbeitungseinheiten.

In den folgenden Beispielen wird erläutert, wie die Ausgabe dieser Befehle interpretiert wird.

1. Hersteller und Modell des Prozessors

Um den Hersteller-und Modellnamen des Prozessors zu finden, durchsuchen Sie die Datei /proc/cpuinfo mit dem Befehl grep.

$ cat /proc/cpuinfo | grep vendor | uniqvendor_id : GenuineIntel

Es ist ein Intel-Prozessor. Als nächstes finden Sie den Modellnamen, der verwendet werden kann, um die genauen Spezifikationen online auf Intel-Website zu suchen.

$ cat /proc/cpuinfo | grep "model name" | uniqmodel name : Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz

Es ist ein“ Core 2 Quad Q8400 “ Prozessor.

2., Architektur

Die lscpu-Befehle melden die Architektur.

$ lscpuArchitecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte Order: Little Endian.....

Die Architektur ist x86_64, was 64 Bit ist.

3. Frequenz

Die Frequenz /Geschwindigkeit des Prozessors wird sowohl von lscpu als auch von/proc / cpuinfo gemeldet.

$ lscpu | grep -i mhzCPU MHz: 1998.000
$ cat /proc/cpuinfo | grep -i mhz | uniqcpu MHz : 1998.000
The frequency reported might be lower than the actual frequency specified for the processor because most modern processors operate at lower frequencies to save power. Under load condition they would switch to higher frequency.

Die Frequenzänderung kann durch Überwachung der Ausgabe von /proc/cpuinfo mit watch.,

$ watch -n 0.1 "cat /proc/cpuinfo | grep -i mhz"

Führen Sie den obigen Befehl in einem Terminal aus und starten Sie während der Ausführung eine CPU-intensive Aufgabe parallel und die Häufigkeit würde zunehmen.

Every 0.1s: cat /proc/cpuinfo | grep -i mhz Sun Jun 29 15:28:38 2014cpu MHz : 2664.000cpu MHz : 2664.000cpu MHz : 2664.000cpu MHz : 2664.000

4. Anzahl der Kerne

Jeder Kern auf dem Prozessor ist eine tatsächliche unabhängige CPU oder Verarbeitungseinheit. Mehrere Kerne ermöglichen es dem Prozessor, mehrere Programmanweisungen parallel auszuführen, wodurch die Verarbeitungsgeschwindigkeit erhöht wird.

Der Befehl lscpu gibt die „Kerne pro Socket“an.

In diesem Fall beträgt die Anzahl der Kerne auf dem Prozessor 4.,
Die/proc / cpuinfo Datei gibt auch die Anzahl der Kerne, aber es kann etwas schwierig und verwirrend sein.

Das einfache Zählen der Anzahl der Prozessoren kann zu falschen Zahlen führen.

$ cat /proc/cpuinfo | grep "processor"

Bei Hyper-Threaded-Prozessoren ist die Anzahl der Prozessoren, die das Betriebssystem sieht, doppelt so hoch wie die Anzahl der Kerne.

/proc/cpuinfo hat jedoch ein Feld mit dem Namen „core id“, das eine eindeutige ID für jeden Kern in einem einzelnen Prozessor ist., Das Zählen der Core-ID würde einen klaren Hinweis auf die Anzahl der tatsächlichen Kerne auf dem Prozessor geben

$ cat /proc/cpuinfo | grep -i "core id"core id : 0core id : 2core id : 1core id : 3

Mehrere Prozessoren

Selten, aber wenn Sie sich auf einem System befinden, das über mehrere physische Prozessoren verfügt (ja, es bedeutet, dass 2 oder mehr Prozessoren auf dem Motherboard installiert sind), sind die Ergebnisse von /proc/cpuinfo unterschiedlich. Bei mehreren Prozessoren würde die „physische ID“ mehrere Werte anzeigen.

$ cat /proc/cpuinfo | grep -i "physical id" | uniqphysical id : 0

Wenn mehr als 1 physische IDs vorhanden sind, befinden sich mehrere physische Prozessoren auf dem System., Und Sie müssen die Kerne auf jedem Prozessor separat zählen.

5. Hyper Threading

Hyper Threading ist eine Intel-Technologie, mit der einzelne Kerne wie 2 logische Verarbeitungseinheiten ausgeführt werden können. Dies erhöht in gewisser Weise die Verarbeitungsleistung jedes Kerns in begrenzter Weise.

Um zu überprüfen, ob der Prozessor Hyper-Threading hat, müssen 2 verschiedene Werte verglichen werden. Erstens ist die Anzahl der tatsächlichen Kerne und zweitens die Anzahl der logischen Verarbeitungseinheiten.

Wenn die Anzahl der Kerne gleich der Anzahl der Verarbeitungseinheiten ist, wie vom Betriebssystem gesehen, dann KEIN Hyper-Threading., Andernfalls, wenn die Anzahl der Verarbeitungseinheiten größer/doppelt so groß ist wie die Anzahl der Kerne, dann JA Hyper Threading.

number of processing units = number of cores number of processing units = number of cores * 2 

Nehmen Sie dieses Beispiel eines Core 2 Quad Q8400 Prozessors

Anzahl der prozessoren wie gezeigt durch /proc/cpuinfo ist 4

$ cat /proc/cpuinfo | grep processorprocessor : 0processor : 1processor : 2processor : 3

Anzahl der“ cpu kerne „= 4 sowie“ geschwister „= 4 und einzigartige“ core id “ = 4

Daher gesamtzahl der verarbeitungseinheiten = Anzahl der tatsächlichen Kerne. Es gibt also kein Hyper-Threading auf diesem Prozessor, und das gleiche kann aus den Spezifikationen des Prozessors auf Intels Website bestätigt werden.,

Hyper-Thread-Prozessor

Falls Hyper-Threading vorhanden ist, wäre die Ausgabe von /proc/cpuinfo oder lscpu anders.

Beachten Sie die „Threads pro Kern: 2“, die angeben, dass es 2 Threads pro Kern mit insgesamt 4 Kernen gibt. Die Anzahl der vom Betriebssystem angezeigten Verarbeitungseinheiten beträgt also 8.

Schauen wir uns nun die Ausgabe von /proc / cpuinfo an.

Die „CPU-Kerne“ = 4 und Geschwister = 8, was bedeutet, dass es 4 Kerne und 2 Hyperthreads pro Kern gibt. Die Anzahl der Prozessoren, wie in /proc/cpuinfo gezeigt, wäre ebenfalls 8.,

The HTT flag in dmidecode output and ht flag in /proc/cpuinfo flags might not correctly report hyper threading.

Für den Core2Quad Q8400-Prozessor zeigen sowohl dmidecode als auch /proc/cpuinfo das aktivierte Hyperthreading-Flag an, da Hyper-Threading auf dem Prozessor nicht verfügbar ist.

Hwloc / lstopo

Hwloc (Portable Hardware locality) ist ein kleines Dienstprogramm, das die Struktur des Prozessors in einem übersichtlichen visuellen Diagramm meldet. Das Diagramm zeigt die Anzahl der Kerne, Hyperthreads und Cache-Größe. Ein einziges Diagramm sagt alles.,575b2e2d“>

Das obige diagramm zeigt deutlich –

Insgesamt L2 Cache – 4096 KB – 4 MB
Insgesamt Kerne – 4
Verarbeitung einheit pro core – 1

Hyper-threaded prozessor
Für eine hyperthreaded prozessor, die hwloc ausgang diagramm könnte aussehen wie folgt

Das diagramm zeigt

Insgesamt L3 Cache – 8 MB
Insgesamt Kerne – 4
Verarbeitung einheiten pro Core – 2

Fazit

Um mehr über befehle für die überprüfung CPU informationen auf Linux überprüfen Sie diesen beitrag:
9 Befehle zu Überprüfen CPU Informationen auf Linux


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.