Frage Wie viele Prozessoren kann GNU / Linux unterstützen?


Wie viele Prozessoren kann GNU / Linux unterstützen?
und wie viel Speicher kann GNU / Linux unterstützen?
und wenn Sie mir die Referenz geben können


4
2017-08-06 17:20


Ursprung


Beeindruckende Grundlinie: htop.sourceforge.net/128.png ;-) - mbq


Antworten:


Gnu ist userland und hat keine Beziehung zur Anzahl der CPUs. CPU- und Speicherlimits hängen vom Kernel und der Architektur ab.

Ich nehme an, Sie fragen nach der x86-Architektur im 64-Bit-Modus.

Die maximale Anzahl von CPUs (genauer gesagt Kerne (genauer gesagt Hardware-Threads in den Fällen von Chip Multi-Threading / HyperThreading)), die vom Linux-Kernel unterstützt werden, ist ein Parameter, der zur Kompilierungszeit gesetzt wird. Übliche Werte sind 8 (Standard-Smp), 32 für größere Smp-Hardware. Die maximale Einstellung ist 512, obwohl Sie es schwer haben werden, die tatsächliche x86-Hardware mit einer so großen Anzahl an CPUs zu finden.

Sie können den Wert für Ihren Kernel mit der Suche erhalten NR_CPUS Wert gemeldet in der /boot/config-$(uname -r) Datei.

Das Maximum (experimentell) ist 4096 [Edit: möglicherweise 8192 seit einem Patch von 2013], aber AFAIK wird nur für Code-Testzwecke verwendet.

Über den Speicher kann der Linux-Kernel etwa 64 TB RAM unterstützen und jeder Prozess etwa 128 TB virtuellen Speichers. Auch hier sind diese Grenzen groß genug, um von vorhandener Hardware nicht erreichbar zu sein.


6
2017-08-06 23:59



Sie können diesen Wert mit dem folgenden Befehl im Terminal überprüfen: grep NR_CPUS /boot/config-`uname -r`. Auf einer Nebenbemerkung, siehe auch dieses xkcd Comic über dieses Thema. - agtoever
@cttoever Asteblief! Antwort aktualisiert - jlliagre
Dankjewel! Und +1. - agtoever


So viel wie Geld kaufen kann: siehe top500 und besonders Top 500 von OS oder, wenn Sie müssen, wie ein Kreisdiagramm.


3
2017-08-06 17:24



Ich denke, dass die Frage in einer einzigen Maschine war. Die Top500-Computer sind Cluster, und als solche sind viele einzelne Computer über ein schnelles Netzwerk (20 GB / s ist nicht ungewöhnlich) verbunden. - KeithB
Einige der Cluster sind "eng gekoppelt", was bedeutet, dass das Ethernet Teil des Systembusses ist. Es gibt viele Boxen, aber sie sind alle eine "Maschine". Andere sind natürlich lose miteinander verbunden. - dmckee
@dmckee: Das Thema geht ein bisschen ab, aber du hast recht. Die meisten High-End-Cluster verwenden kein Ethernet, sondern Infiniband. Aber da war etwas, von dem ich nicht wusste, dass es zu Linux gebracht wurde, das ist ein System-Image (z. B. openssi.org/cgi-bin/view?page=openssi.html). Dies bedeutet, dass eine Gruppe von Maschinen scheinbar denselben Kernel ausführt und Prozesse nahtlos von Maschine zu Maschine migriert werden. Wenn Sie ein tun lsEs zeigt die Prozesse für alle Maschinen. Die Top500 Maschinen, die ich benutzt habe, haben das nicht gemacht, aber ich bin mir sicher, dass es einige tun. - KeithB
@Keith Ich bin veraltet, aber Beowolf hat das damals gemacht. Und es verwendetes Ethernet. Ruf mich an damit 20. Jahrhundert. - dmckee


Ich denke, dass Sie für Ihre Frage spezifischer sein müssen. Welche Verteilung? Einige dieser Antworten hängen vom verwendeten Kernel ab. Wenn Sie bestimmte Zahlen haben möchten, können Sie dies mit einer bestimmten Verteilung vergleichen.

Die Anzahl der CPUs kann zwei Antworten haben - was ist die maximale Anzahl der CPUs, die das Betriebssystem verwenden kann, Zeitraum. Und was kann es effizient nutzen? Manchmal können diese sehr unterschiedlich sein.

Was Speicher angeht, werden Sie Kernel-Einschränkungen, aber auch Hardware-Einschränkungen bekommen. Bestimmte Motherboards / Chipsätze haben praktische Grenzen, entweder wegen der Adressierung oder wegen der begrenzten Anzahl von RAM-Steckplätzen.


2
2017-08-06 17:48





Ich kenne die Einzelheiten nicht, aber im Allgemeinen werden Sie die Hardware- und / oder Währungsgrenzen treffen, bevor Sie die OS-Grenzen erreichen. Grundsätzlich, wenn Sie mehr fragen müssen, als Sie verwenden können.


1
2017-08-06 17:34