In der Regel wird der Hauptspeicher in 4-K-Einheiten verwaltet. Diese Einheiten werden Frames genannt und den virtuellen Seiten zugeordnet.
Unter einer (realen) „Big Page“ versteht man eine Zusammenfassung von hintereinanderliegenden Frames in einer Größenordnung von mehreren MB, wobei der erste Frame auf das entsprechende MB-Vielfache ausgerichtet ist.
BS2000 unterstützt Big Pages auf SU x86 in einer Größe von 4 MB, das entspricht 1024 Frames. Sie werden für CISCFW-Kompilate genutzt, weil diese auf Big Pages schneller ablaufen.
Benutzte Big Pages können von der CISCFW auf Verlangen zurückgeben werden (z.B. bei der Reduktion des Hauptspeichers eines VM2000-Gastsystems).
Zur Festlegung der gewünschten Anzahl von Big Pages stehen Parameter in der Startup-Parameterdatei und das Kommando MODIFY-MEMORY-PARAMETERS zur Verfügung. Das Kommando SHOW-MEMORY-CONFIGURATION gibt neben Angaben über die Größe des Hauptpeichers auch Angaben zum Big-Page-Speicher aus (Beispiel siehe "Ausgaben der Hauptspeicher- und Big-Page-Verwaltung").
Big Pages bei der Systemeinleitung
Die Startup-Parameterdatei kann auch Parameter zur Anlage von Big Pages enthalten.
Einstellungen in der Parameterdatei
Im Parametersatz MEMORY wird Folgendes festgelegt:
mit dem Parameter BIG-PAGE-SHRSIZE die Größe (in MB) des Big-Page-Speichers, der im Shared-Memory (Klasse-3-Speicher) angelegt und für CISCFW-Kompilate von Shared-Programmen genutzt werden soll
mit dem Parameter BIG-PAGE-QUOTA, welcher Anteil (in %) vom Hauptspeicher für Big Pages reserviert werden soll (gewünschte Zielgröße)
Güte und Gültigkeit der beim Startup festgelegten Werte
Wieviel realer Big-Page-Speicher (realer Hauptspeicher der Big Pages) im System angelegt werden soll, wird beim Systemstart im MEMORY-Parameterservice (Parameter BIG-PAGE-QUOTA) festgelegt. Der dort angegebene Prozentsatz ist allerdings nur eine Sollgröße. Die Istgröße fällt u.U. geringer aus, weil die Anlage des Big-Page-Speichers an die maximal mögliche Anzahl der logischen Maschinen (CPUs) des Systems gekoppelt ist. Je geringer die Speichergröße, je mehr CPUs, desto höher ist die Wahrscheinlichkeit, dass die Istgröße des Big-Page-Speichers die Sollgröße nicht erreicht.
Die eingestellten Werte für die Arbeit mit Big Pages sind für die aktuelle Session solange gültig, bis sie entweder explizit mit dem Kommando MODIFY-MEMORY-PARAMETERS oder implizit durch bestimmte Systemeigenschaften und -zustände verändert werden. Dazu gehören die Vergrößerung oder Reduzierung des Hauptspeichers oder eine drohende Hauptspeichersättigung.
Anpassung der Big Pages im laufenden Betrieb
Big Pages können gleichmäßig über den Hauptspeicher verteilt werden, da sie auch oberhalb des Hauptspeicherminimums liegen dürfen. Hieraus ergibt sich automatisch, dass die Größe des Big-Page-Speichers nach einer Hauptspeicher-Rekonfiguration weiter der BIG-PAGE-QUOTA entspricht (sofern nicht zuvor schon eine ungleichmäßige Verteilung der Big Pages entstanden war, z.B. durch explizite Veränderung der eingestellten Werte).
Sonst ist eine Veränderung der Ist-Größe des Big-Page-Speichers während des Systemlaufs nur beschränkt möglich. Das Kommando MODIFY-MEMORY-PARAMETERS bietet dazu mehrere Möglichkeiten, siehe "Hauptspeicher", Tabelle 7. Die Möglichkeiten sind detailliert im Handbuch „Kommandos“ [27] beschrieben.
Ausgaben der Hauptspeicher- und Big-Page-Verwaltung
Die Größe des Speicherbereiches für die Big Pages wird über die Meldung EMM2309
an der Konsole ausgegeben. Diese Meldung erscheint auch, wenn sich an dieser Größe im laufenden Betrieb etwas ändert, z.B.:
EMM2309 THE SIZE OF THE BIG PAGE MEMORY IS 168 MB.
Mit dem Kommando SHOW-MEMORY-CONFIGURATION kann jederzeit eine Statusabfrage zu Zuteilung und Auslastung des gesamten Hauptspeichers und der Big-Page-Bereiche erfolgen.
Beispiel
/SHOW-MEMORY-CONFIGURATION REAL MEMORY MANAGEMENT REPORT 1. MEM-SIZE MIN-MEM-SIZE FREE-CORE-SIZE FREE-MEM-SIZE PAGE-MEM-SIZE CSL 1024 MB 256 MB 32.25 MB 32.25 MB 800.25 MB 0 BIG PAGE MANAGEMENT REPORT 2. QUOTA PLANNED #LM ACTUAL FREE SHR FREE-SHR REDUCE 40 400 MB 4 168 MB 104 MB 64 MB 16 MB CORE/QUOTA
Im Beispiel hat das System einen Hauptspeicher von MEM-SIZE = 1024 MB, wobei seine Mindestgröße MIN-MEM-SIZE = 256 MB beträgt.
(In einem VM2000-Gastsystem kann MIN-MEM-SIZE kleiner als MEM-SIZE sein. Im Native-Betrieb sind die Werte derzeit gleich.)
FREE-CORE-SIZE ist der Anteil am freien Hauptspeicher, der noch für residente Klasse-3-Speicher-Anforderungen des Systems zur Verfügung steht. Diese Größe ist auch maßgebend für den Hauptspeichersättigungsgrad.
FREE-MEM-SIZE ist der Anteil am freien Hauptspeicher, der für die restlichen residenten Speicheranforderungen wie residente Memory-Pools oder Data Spaces zur Verfügung steht. (Bei Hauptspeicher <= 2 GB sind FREE-CORE-SIZE und FREE-MEM-SIZE identisch.)
PAGE-MEM-SIZE stellt die Größe des Hauptspeichers dar, der für nicht-residente, seitenwechselbare Seiten zur Verfügung steht.
(In Systemen, bei denen MEM-SIZE und MIN-MEM-SIZE identisch sind, sind auch FREE-MEM-SIZE und PAGE-MEM-SIZE identisch.)
Die letzte Spalte CSL gibt den aktuellen Hauptspeichersättigungsgrad an, dabei sind die Werte 0 (keine Sättigung), 1, 2 oder 3 (höchste Alarmstufe) möglich (siehe auch "Hauptspeicher").
QUOTA gibt den Prozentsatz des Hauptspeichers an, der als Big-Page-Speicher verwendet werden soll (und der mit dem Parameter BIG-PAGE-QUOTA in der Parameterdatei bzw. mit einem vorangegangenen Kommando MODIFY-MEMORY-PARAMETERS eingestellt wurde).
Aus der Hauptspeichergröße (MEM-SIZE) und dem Prozentsatz (QUOTA) berechnet sich die Sollgröße, die bei PLANNED angezeigt wird.
#LM ist die Anzahl der max. möglichen logischen Maschinen (CPUs) des Systems, also nicht die zum Zeitpunkt des Kommandoaufrufes angeschlossenen (attached) LMs. Neben der Mindestgröße des Arbeitsspeichers spielt die Anzahl der LMs eine wesentliche Rolle für die aktuelle Größe des Big-Page-Speichers: je höher die Anzahl der LMs, desto kleiner kann die Größe des Big-Page-Speichers ausfallen.
Die Spalte ACTUAL gibt die aktuelle Größe des Big-Page-Speichers aus, d.h. seine Istgröße.
Diese kann von der geplanten Sollgröße (PLANNED) abweichen, wenn z.B. Big-Page-Speicher wegen drohender Hauptspeichersättigung abgebaut wurde.FREE gibt die Größe des freien (aktuell nicht benutzten) Big-Page-Speichers aus.
Die Größe des vorgesehenen shared Big-Page-Speichers für CISCFW-Kompilate im Klasse-3-Speicher gibt die Spalte SHR aus und FREE-SHR die Größe des freien shared Big-Page-Speichers.
Eine wichtige Angabe findet sich in der letzten Spalte REDUCE: Hier steht, wann Big-Page-Speicher abgebaut werden darf. Im Beispielfall bei drohender Hauptspeichersättigung (CORE) und falls sich durch Änderung der Hauptspeichergröße oder von BIG-PAGE-QUOTA eine neue Sollgröße des Big-Page-Speichers ergibt, die kleiner als die Istgröße ist (QUOTA).
Allgemeine Hinweise
Für die Hauptspeicherverwaltung gelten generell die folgenden Bedingungen:
MEM-SIZE >= MIN-MEM-SIZE > FREE-MEM-SIZE >= FREE-CORE-SIZE
MEM-SIZE > PAGE-MEM-SIZE >= FREE-MEM-SIZE >= FREE-CORE-SIZE
CISCFW-Speicher oder DAB-Puffer werden in dem mit FREE-MEM-SIZE bezeichneten Speicher angelegt.Trotzdem kann eine Hauptspeichersättigung durch Abbau von DAB-Puffern oder Terminierung von Programmen beseitigt werden, wenn FREE-MEM-SIZE minus FREE-CORE-SIZE kleiner als die Größe der DAB-Puffer und/oder des CISCFW-Speichers ist.
Ist dies nicht der Fall, sind Maßnahmen zur Reduktion des Klasse-3-Speichers bzw. zum Abbau von Adressräumen (Tasks, Data Spaces) erforderlich.
Hinweise für VM2000
Nur in VM2000-Gastsystemen gibt es ein sog. Hauptspeicherminimum.
Dieses Minimum, das von der Gesamtspeichergröße nach unten abweicht, ermöglicht es, eine Speicherreduktion des Systems durchzuführen.In einem VM2000-Gastsystem kann man der gewünschten Sollgröße des Big-Page-Speichers näher kommen, wenn man den Gesamtspeicher des Gastsystems vergrößert.
Ist für ein laufendes VM2000-Gastsystem eine Speicherreduktion vorgesehen, dann ist für diese VM eine MIN-MEM-SIZE abweichend von der MEMORY-SIZE festzulegen. Um eine solche Speicherreduktion zu ermöglichen, befriedigt die Speicherverwaltung von BS2000 alle Anforderungen von residentem Speicher, die unterhalb dieser MIN-MEM-SIZE liegen. Eine ausreichende Dimensionierung dieses Parameters ist daher notwendig. Siehe dazu auch den Abschnitt „Performance-Aspekte bei VM2000-Betrieb (Hauptspeicher)“ im „Performance-Handbuch“ [37].