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

Maximaler Speicher, der von einem 32-Bit-RHEL-6-System verwendet werden kann

Nun, ich erwarte keine kürzere Antwort als die hier verfügbare.

Was ich über 32-Bit-Betriebssysteme verstehe, ist, dass die Adresse in 32 Bits ausgedrückt wird, sodass das Betriebssystem höchstens 2 ^ 32 =4 GB Speicherplatz verwenden kann

Das meiste, was der Prozess ansprechen können ist 4GB. Sie verwirren möglicherweise Speicher mit Adressraum . Ein Prozess kann mehr Speicher als Adressraum haben. Das ist völlig legal und ziemlich üblich in der Videoverarbeitung und anderen speicherintensiven Anwendungen. Einem Prozess können Dutzende von GB Speicher zugewiesen und nach Belieben in den und aus dem Adressraum verschoben werden. Nur 2 GB können in den Benutzer gehen Adressraum auf einmal.

Wenn Sie eine Garage für vier Autos in Ihrem Haus haben, können Sie immer noch fünfzig Autos besitzen. Du kannst sie einfach nicht alle in deiner Garage aufbewahren. Sie müssen woanders Hilfslager haben, um mindestens 46 davon zu lagern; Welche Autos Sie in Ihrer Garage und welche auf dem Parkplatz um die Ecke stehen lassen, liegt ganz bei Ihnen.

Bedeutet dies, dass bei jedem 32-Bit-Betriebssystem, sei es Windows oder Unix, wenn der Computer mehr als 4 GB RAM + Auslagerungsdatei auf der Festplatte hat, z. B. 8 GB RAM und 20 GB Auslagerungsdatei, niemals "Speicher aufgebraucht" wird? /P>

Absolut bedeutet das nicht. Ein einzelner Prozess könnte mehr Speicher verbrauchen! Auch hier ist die Menge an Arbeitsspeicher, die ein Prozess verwendet, fast völlig unabhängig von der Menge an virtuellem Adressraum, den ein Prozess verwendet. Genauso wie die Anzahl der Autos, die Sie in Ihrer Garage haben, völlig unabhängig von der Anzahl der Autos ist, die Sie besitzen.

Darüber hinaus können sich zwei Prozesse nicht-private Speicherseiten teilen . Wenn alle zwanzig Prozesse dieselbe DLL laden, teilen sich alle Prozesse die Speicherseiten für diesen Code. Sie teilen sich keinen Adressraum des virtuellen Speichers , sie teilen Gedächtnis .

Mein Punkt, falls es nicht klar ist, ist, dass Sie aufhören sollten, Speicher und Adressraum als dasselbe zu betrachten, weil sie überhaupt nicht dasselbe sind.

Wenn dieser 32-Bit-Betriebssystemcomputer über 2 GB RAM und 2 GB Auslagerungsdatei verfügt, wird die Erhöhung der Auslagerungsdateigröße die Leistung nicht verbessern. Ist das wahr?

Sie haben fünfzig Autos und eine Garage für vier Autos und einen Parkplatz für 100 Autos die Straße runter. Sie vergrößern den Parkplatz auf 200 Stellplätze. Wird eines Ihrer Autos schneller, weil Sie jetzt 150 statt 50 zusätzliche Parkplätze haben?


Die Antwort von Ramesh ist völlig falsch. Ein Prozess kann nicht mehr Speicher als Adressraum haben, und das einfach, weil er ihn nicht adressieren kann !!Um mehr als 4 GB zu verwenden, muss der Prozess über die Adresse darauf zugreifen, wie bei der Verwendung von Ponters in C/C++. Wenn Sie angeblich zum Beispiel 10 GB RAM haben können, wie können Sie dem Prozess sagen, dass er auf die Daten zugreifen soll, die sich bei 5 GB befinden, wenn Ihre Zeiger in 32-Bit höchstens 4 GB erreichen können? Es ist unmöglich. Alle seine Erklärungen beziehen sich auf das Betriebssystem. Es kann bestimmte Blöcke von höchstens 4 GB aus einem Pool von beispielsweise 64 GB aktivieren. Es sind also immer maximal 4 GB gleichzeitig vorhanden, und jeder Prozess kann auf maximal 4 GB zugreifen. Dann kann der SO für einen anderen Prozess einen anderen Block von 4 GB aus dem Pool aktivieren, aber der Prozess wird wieder auf 4 GB begrenzt. Obwohl ein 32-Bit-Zeiger bis zu 4 GB adressieren kann, ist die Grenze für einen 32 -bit-Prozess ist 3 GB groß.


Linux
  1. So ändern Sie einen Runlevel auf einem RHEL 7-Linux-System

  2. dmidecode:Informationen zur Systemhardware unter Linux abrufen

  3. So überprüfen Sie, ob ein Linux-System 32-Bit oder 64-Bit ist

  4. Linux – System hängt, wenn der Speicher ausgeht?

  5. So finden Sie die Anzahl der CPU-Sockets auf einem CentOS/RHEL-System

So konfigurieren Sie die IP-Adresse in CentOS 7 / RHEL 7 und CentOS 6 / RHEL 6

So aktualisieren Sie von RHEL 7 auf RHEL 8

Verwalten von Swap im modernen Linux-System

So überprüfen und reparieren Sie ein Dateisystem in RHEL Linux

So konfigurieren Sie eine statische Netzwerk-IP-Adresse unter RHEL/CentOS 8/7

So konfigurieren Sie eine statische IP-Adresse auf einem Linux-System