Der X5560 ist ein einzelner Chip . Es sieht so aus:
grep "physical id"
sagt Ihnen, dass Sie EINEN physischen Prozessor installiert haben.
Wenn Sie den Heatspreader von der Oberseite abnehmen, können Sie dies sehen - ein einzelnes physisches Die (Gesicht nach unten) :
Wenn Sie diesen Würfel entfernen und umdrehen könnten, würde es so aussehen:
Auf diesem einzelnen physischen Chip befinden sich vier physische CPU-Kerne auf dem Silizium aufgebaut :
grep "cpu cores"
sagt Ihnen, dass Ihr Prozessor über vier physische Kerne verfügt.
Jeder Kern ist ein einzelner Prozessor mit einer Gleitkommaeinheit, einer Reihe von Integer-Ausführungseinheiten, einem Paar Registerstapel und einigen anderen Zauberei, die es jedem einzelnen Kern ermöglichen, effektiv zwei unabhängige Befehlsströme (Threads) gleichzeitig auszuführen.
top
sagt Ihnen, dass alle Prozessoren und Kerne auf Ihrem Computer zusammen acht unabhängige Workflows gleichzeitig ausführen können - es sagt Ihnen, dass das Betriebssystem in der Lage ist, acht gleichzeitige Threads für die Ausführung zu einem bestimmten Zeitpunkt zu planen.
Welche CPU verwendest du? Wie viele Threads sind pro physischem Kern vorhanden?
cat /proc/cpuinfo
zeigt die Anzahl der physischen Kerne an, während top
zeigt die Gesamtzahl der vorhandenen Threads.
Ich denke, Ihre CPU hat 4 physische Kerne und 2 logische Kerne pro physischem Kern. Es ist also top
zeigt 8.
Außerdem Inhalt von /proc/cpuinfo
ist etwas implementierungsabhängig. Wie in einer gerooteten Android-Shell der cpuinfo
Datei enthält keinen Begriff cpu cores
.
Allerdings in cpuinfo
jeder Thread wird als processor : X
bezeichnet , wobei X
ist Thread Nr. Die letzte Thread-Nr. soll also gleich top/htop
sein Ausgabe.
Ergebnis von nproc --all
muss auch mit top/htop
übereinstimmen
top
zeigt eine „CPU“ pro logischer CPU; auf x86 ist das das Produkt aus der Anzahl der Sockets im System, der Anzahl der physischen Kerne pro Socket und der Anzahl der Threads pro Kern.
Die cpu cores
Eintrag in /proc/cpuinfo
, wieder auf x86, zeigt die Anzahl der physischen Kerne. Um die Anzahl der logischen Kerne zu finden, wie in top
verwendet , sollten Sie sich die siblings
ansehen Wert stattdessen:
cat /proc/cpuinfo | grep "siblings" | uniq
Dies ist detailliert in der Kernel-Dokumentation beschrieben.
lscpu
liefert Informationen über die installierte(n) CPU(s), die einfacher zu verstehen sind als /proc/cpuinfo
(oder besser gesagt, es stellt dieselben Informationen auf einfachere Weise dar).