Solaris 10 Versionshinweise

x86: Speicherzuordnungsgrenzwerte für Anwendungen auf x86-Systemen

Solaris-Anwendungen ordnen Arbeitsspeicher zu, indem sie Funktionen wie malloc (), brk() oder mmap() verwenden. Die Speichermenge, die eine Anwendung maximal zuordnen kann, wird von der Größe des virtuellen Benutzeradressraums beschränkt. Programmtext, -stack, -daten und -bibliotheken, die sich im virtuellen Benutzeradressraum befinden, können die Größe der maximal möglichen Speicherzuordnung zusätzlich verringern.

32-Bit-Computerumgebung

In einer 32-Bit-Computerumgebung wird der virtuelle 32-Bit-Adressraum von Benutzer und Kernel gemeinsam verwendet. Infolgedessen beträgt die Größe des virtuellen Benutzeradressraums 4 GB, abzüglich der Größe des virtuellen Kerneladressraums. Die Konfiguration der Größe des virtuellen Kerneladressraums hängt von der Größe des physischen Arbeitsspeichers ab. Bei steigender Größe des physischen Arbeitsspeichers verringert sich die Größe des Benutzeradressraums. Bei Systemen mit 8 GB RAM beträgt die Größe des Benutzeradressraums ungefähr 3 GB.

Wenn die Grenzwerte für die Speicherzuordnung für eine Anwendung nicht ausreichen, haben Sie zwei Möglichkeiten:

64-Bit-Computerumgebung

In der 64-Bit-Computerumgebung steht der virtuelle Adressraum für 32-Bit-Anwendungen vollständig dem Benutzer zur Verfügung. Daher kann eine 32-Bit-Anwendung die vollständigen 4 GB zuordnen, abzüglich des Benutzeradressraums, der für Text, Stack und Bibliotheken benötigt wird.

Bei manchen älteren 64-Bit AMD-Prozessoren kann der Grenzwert für die Speicherzuordnung um ein weiteres GB verringert sein. Um festzustellen, ob Ihr Prozessor davon betroffen ist, führen Sie folgende Schritte aus:

  1. Führen Sie den Befehl pmap $$ aus einer beliebigen 32-Bit-Shell aus.

  2. Prüfen Sie in der Prozessübersicht, ob Adressen aufgeführt werden, die größer als oder gleich 0xC0000000 sind. Wenn diese Adressen nicht vorhanden sind, begrenzt das Solaris BS 32-Bit-Anwendungen auf die unteren 3 GB des virtuellen Addressraums von 4 GB.

Eine 64-Bit-Anwendung kann in Abhängigkeit von der aktuellen Speichernutzung durch die Anwendung Arbeitsspeicher in einer Größenordnung von 250 TB zuordnen.