GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Anzahl der Prozessoren in /proc/cpuinfo

Die Wörter „CPU“, „Prozessor“ und „Kern“ werden etwas verwirrend verwendet. Sie beziehen sich auf die Prozessorarchitektur. Ein Kern ist die kleinste unabhängige Einheit, die einen Allzweckprozessor implementiert; Ein Prozessor ist eine Ansammlung von Kernen (auf einigen ARM-Systemen ist ein Prozessor eine Ansammlung von Clustern, die selbst Ansammlungen von Kernen sind). Ein Chip kann einen oder mehrere Prozessoren enthalten (x86-Chips enthalten einen einzelnen Prozessor, in diesem Sinne des Wortes Prozessor ).

Hyperthreading bedeutet, dass einige Teile eines Kerns dupliziert werden. Ein Kern mit Hyperthreading wird manchmal als eine Ansammlung von zwei „virtuellen Kernen“ dargestellt – was nicht bedeutet, dass jeder Kern virtuell ist, sondern dass der Plural virtuell ist, weil es sich nicht um separate Kerne handelt und sie manchmal warten müssen, während der andere Kern es ist Verwendung eines gemeinsamen Teils.

Soweit es Software betrifft, gibt es nur ein Konzept, das fast überall nützlich ist:die Vorstellung von parallelen Ausführungs-Threads. Daher werden in den meisten Softwarehandbüchern die Begriffe CPU verwendet und Prozessor werden verwendet, um jedes einzelne Stück Hardware zu bezeichnen, das Programmcode ausführt. In Bezug auf die Hardware bedeutet dies einen Kern oder einen virtuellen Kern mit Hyperthreading.

Also top zeigt Ihnen 4 CPUs, weil Sie 4 Threads gleichzeitig ausführen lassen können. /proc/cpuinfo hat 4 Einträge, einen für jede CPU (in diesem Sinne). Die processor Nummern (das sind die Nummern der cpuNUMBER Einträge in /sys/devices/system/cpu ) entsprechen diesen 4 Threads.

/proc/cpuinfo ist einer der wenigen Orte, an denen Sie Informationen darüber erhalten, welche Hardware diese Ausführungs-Threads implementiert:

physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2

bedeutet, dass cpu0 ist einer von 4 Threads innerhalb der physischen Komponente (Prozessor) Nummer 0, und das ist in Kern 0 von 2 in diesem Prozessor.


Beantworte nur deine erste Frage. In der Ausgabe von cat /proc/cpuinfo Sie können die folgenden Informationen sehen:-

physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2

Sie können die Anzahl von siblings is 4 sehen und cpu cores is 2 . cpu cores 2 ist die Gesamtzahl der Kerne im Prozessor, die anhand der Spezifikation in der von Ihnen angegebenen Intel-URL überprüft werden kann. Ebenso siblings wird durch die Anzahl der Threads bestimmt, die von Intels HTT bereitgestellt wird.

In ähnlicher Weise gilt für die physische ID der 0 was anzeigt, dass es nur einen Prozessorchip gibt und für Kern-IDs können Sie 0 and 1 sehen das sind 2 Kerne im Prozessor.

Aktualisierung: Antworten zu den anderen Fragen hinzufügen.

Was ist mit dem Turbo-Boost? Sind alle Kerne turbogeboostet oder nur physisch?

Nun, ich werde sagen, alle aktiven Kerne sind turbogeboostet. Hey Kumpel, du hättest dir die Beispiele unserer geliebten Wikipedia ansehen sollen. Auch mit Berechnungen erklärt.

Any method in ubuntu to get current cpu freq. if processor is on turbo boost or not.

Turbo-Boost oder nicht, Sie können die Frequenzdetails in der Ausgabe von lscpu sehen . Und für eine verfeinerte Ausgabe:-

lscpu | grep Hz

Sie können dies im Terminal versuchen:

sudo lscpu

Dies gibt Ihnen einen Überblick über die physikalischen Eigenschaften Ihrer CPU. Was den Turbo-Boost betrifft oder nicht, dies ist eine reine Hardwaresteuerung und nicht das Betriebssystem selbst. Wenn Intel also keinen bestimmten Treiber für Linux hat, der Ihre Prozessorgeschwindigkeit optimieren kann, gibt es keinen soliden Hinweis, um den Turbo-Boost-Status zu überprüfen (es sei denn, es gibt einen Befehlscode dafür Sehen Sie in anderen Foren nach, ob es Hinweise zu Ihrer Frage gibt).

Was mich betrifft, bekomme ich das, wenn ich den obigen Befehl eingebe. Mein AMD sagte, es sei ein Quad-Core, aber mein hier aufgeführter physischer Kern ist nur 2 mit 2 Threads pro Kern (ergibt bis zu 4 Kerne). Ich verwende den AMD A10 APU-Prozessor 5750m.

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
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            21
Model:                 19
Stepping:              1
CPU MHz:               2500.000
BogoMIPS:              4990.51
Virtualization:        AMD-V
L1d cache:             16K
L1i cache:             64K
L2 cache:              2048K
NUMA node0 CPU(s):     0-3

Linux
  1. Was ist das Äquivalent von /proc/cpuinfo unter FreeBSD v8.1?

  2. /proc/[pid]/pagemaps und /proc/[pid]/maps | Linux

  3. Wie erhalte ich die Anzahl der CPUs/Kerne in Linux über die Befehlszeile?

  4. linux /proc/loadavg

  5. Wechsel des Standortes der Bohrkernhalde

/proc/cpuinfo- und /proc/meminfo-Dateien unter Linux

/proc/cpuinfo Datei erklärt

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

Wie finde ich heraus, aus welchem ​​Ordner ein Prozess läuft?

Finden Sie heraus, welche HT-Kerne sich einen physischen Kern aus /proc/cpuinfo teilen

Sollten Websites gemäß der empfohlenen Verwendung in /var/ oder /usr/ leben?