![](../../com.ibm.help.doc/images/IC-im-sm.gif)
database_memory - Größe des gemeinsam genutzten Datenbankspeichers (Konfigurationsparameter)
- Konfigurationstyp
- Datenbank
- Gilt für
-
- Datenbankserver mit lokalen und fernen Clients
- Datenbankserver mit lokalen Clients
- Partitionierten Datenbankserver mit lokalen und fernen Clients
- Parametertyp
- Online konfigurierbar (Datenbankverbindung erforderlich)Anmerkung: Erfordert eine Datenbankverbindung. Dynamische Änderungen können bei fixiertem Speicher und umfangreichen Seitenkonfigurationen nur in beschränktem Maße ausgeführt werden.
- Nach Member in einer DB2 pureScale-Umgebung und in Umgebungen mit partitionierten Datenbanken konfigurierbar
- Online konfigurierbar (Datenbankverbindung erforderlich)
- Standardwert [Bereich]
- AUTOMATIC [AUTOMATIC, COMPUTED, 0 - 4 294 967 295]
- Maßeinheit
- Seiten (4 KB)
- Wenn zugeordnet oder festgeschrieben
- Unter Linux- und UNIX-Betriebssystemen
- Die Anfangsgröße wird bei der Datenbankaktivierung zugeordnet. Zusätzlicher Hauptspeicher wird bedarfsgesteuert zugeordnet.
- Unter Windows-Betriebssystemen
- Der Hauptspeicher wird bedarfsgesteuert zugeordnet.
- Freigabe
- Der gesamte Datenbankspeicher wird freigegeben, wenn eine Datenbank inaktiviert wird. Der Speichermanager für automatische Leistungsoptimierung (STMM - Self Tuning Memory Manager) gibt beim Verringern der Größe des Datenbankspeichers Speicherbereich für das Betriebssystem frei. Die weitere Freigabe von Speicher ist von der Einstellung des Konfigurationsparameters db_mem_thresh abhängig.
Unter UNIX-Betriebssystemen ordnet DB2 nach der Anfangszuordnung der Datenbankspeichergröße bei der Datenbankaktivierung zusätzlichen Hauptspeicher bedarfsgesteuert zu, um dynamische Anforderungen zu unterstützen. Die Zuordnung zusätzlichen Speichers wird abhängig von eventuellen festen Größenbegrenzungen durchgeführt. Der gesamte Datenbankspeicher wird als gemeinsam genutzter Speicher zugeordnet und solange beibehalten, bis die Datenbank inaktiviert wird. Der insgesamt zugeordnete gemeinsame Speicher wird nur auf die Verwendung virtuellen Speichers angerechnet. Während hierbei keine Unterstützung durch den Realspeicher erforderlich ist, ist für virtuellen Speicher bei einigen Betriebssystemen eine Unterstützung durch Auslagerungs- oder Paging-Speicher erforderlich. Unter Windows-Betriebssystemen wird der Datenbankspeicher als privater Speicher bedarfsgesteuert zugeordnet und orientiert sich dabei an festen Größenbeschränkungen. Zuordnungen, die nicht mehr benötigt werden, können dynamisch freigegeben oder zur Wiederverwendung beibehalten werden. Alle ausstehenden Speicherzuordnungen werden freigegeben, wenn die Datenbank inaktiviert wird. Details zur Betriebssystemunterstützung finden Sie im Abschnitt Betriebssystemunterstützung.
Beim gebundenen Speicher handelt es sich um Speicher, der durch das Betriebssystem abgesichert ist. Mit Ausnahme des fixierten Speichers, der umfangreiche Seitenkonfigurationen umfasst, wird der zugeordnete Speicher entsprechend den Anforderungen der Hauptspeicherpools festgeschrieben. Der gebundene Speicher, der von Speicherpools nicht mehr benötigt wird, wird entweder im Cache zwischengespeichert, um die Leistung zu verbessern, oder freigegeben und als nicht gebundener Speicher wieder dem Betriebssystem zur Verfügung gestellt. Die ausgeführte Aktion hängt von der Einstellung des Konfigurationsparameters db_mem_thresh ab. Speicher wird auch bei Bedarf freigegeben, wenn die für database_memory angegebene Größe verringert wird, beispielsweise durch STMM. Der gesamte gebundene Speicher wird freigegeben, wenn die Datenbank inaktiviert wird.
Die Größe des Datenbankspeichers wird auf die Speicherbelegung der Instanz angerechnet. Der Überlaufbereich des Datenbankspeichers ist äquivalent zum Cachespeicher der Instanz für den Datenbankspeicherkonsumenten. Ein Überlauf des Datenbankspeichers kann dynamisch reduziert werden, wenn dies zur Erfüllung der Anforderungen anderer Speicherbereiche notwendig ist, die von der Datenbankinstanz verwendet werden. Dieser Vorgang wird automatisch durchgeführt, wenn eine Instanzspeicherbegrenzung wirksam ist.
Die konfigurierten Größen des zugrunde liegenden Speicherpools werden aus der Datenbankspeichergröße reserviert. Der verbleibende Datenbankspeicher wird als Überlaufspeicher eingestuft. Die Speicherpools haben normalerweise die Möglichkeit zur Nutzung des gesamten Überlaufspeichers, der auch als nicht reservierter Speicher bezeichnet wird.
- Pufferpools
- Sperrenliste
- Speicher für gemeinsame Sortierung (wenn SHEAPTHRES gleich 0)
- Paketcache
Datenbankspeichergröße | Überlaufziel |
---|---|
Höchsten 64 GB | 10 % |
64 - 96 GB | 9 % |
96 - 156 GB | 8 % |
156 - 266 GB | 7 % |
266 - 493 GB | 6 % |
Mindestens 493 GB | 5 % |
Das Verhalten der Werte, die database_memory zugeordnet werden können, lautet wie folgt.
- AUTOMATIC
- Wenn für database_memory die Einstellung
AUTOMATIC definiert wurde, dann wird die Anfangsgröße des Datenbankspeichers auf Basis der zugrunde liegenden Konfigurationsanforderungen berechnet.
Dies gilt für die folgenden Komponenten:
- Pufferpools
- Datenbankheapspeicher
- Sperrenliste
- Zwischenspeicher für Dienstprogramme
- Paketcache
- Katalogcache
- Speicher für gemeinsame Sortierung (sofern aktiviert)
- Überlaufbereich
Die Einstellung AUTOMATIC ermöglicht ein Anwachsen des Datenbankspeichers über die Anfangsgröße hinaus, wenn unvorhersehbare Anforderungen auftreten, die vom Überlaufbereich nicht abgedeckt werden können. Dynamische Konfigurationsänderungen, die manuell oder mit STMM an einzelnen Speicherpools durchgeführt werden, führen auch zu einer Anpassung der Datenbankspeichergröße um den entsprechenden Betrag.
Wenn STMM aktiviert ist (Wert für SELF_TUNING_MEM ist ON), dann steuert STMM die Gesamtgröße des Datenbankspeichers. STMM berücksichtigt dabei die zugrunde liegenden Konfigurationsanforderungen einschließlich des Überlaufs sowie die Leistungsvorteile, die sich durch das Anfordern zusätzlichen Speichers ergeben. Abhängig von der Einstellung für instance_memory optimiert STMM den Datenbankspeicher, um Engpässe beim System- und Instanzspeicher zu vermeiden. Ein Prozentsatz an Speicher, den Sie über die Variable DB2_MEM_TUNING_RANGE steuern können, steht weiterhin zur Verfügung, um flüchtige Anforderungen zu erfüllen. Wenn eine Datenbank aktiviert wird und nicht genügend System- oder Instanzspeicher zur Unterstützung der Startkonfiguration zur Verfügung steht, dann werden alle von STMM optimierten Speicherbereiche reduziert, um vorhandene Speicherbeschränkungen zu berücksichtigen. Bei dieser Aktion werden die erzwungenen Minimumgrößen berücksichtigt.
- Fester Wert
- Sie können dem Konfigurationsparameter database_memory einen spezifischen Wert zuordnen. Der angegebene Wert muss jedoch hoch genug sein, um die Mindestkonfigurationsanforderungen zu unterstützen. Dies gilt für die folgenden Komponenten:
- Pufferpools
- Datenbankheapspeicher
- Sperrenliste
- Zwischenspeicher für Dienstprogramme
- Paketcache
- Katalogcache
- Speicher für gemeinsame Sortierung (sofern aktiviert)
- Mindestüberlaufbereich von 5 %
Wenn der zugeordnete Wert zu gering ist, dann wird die höhere Minimumgröße zugeordnet, die zur Unterstützung der Konfiguration erforderlich ist. Der zugeordnete Datenbankspeicher darf die feste Einstellung oder die höhere der Minimumgrößen nicht überschreiten. Die Einstellung für den Datenbankspeicher kann dennoch dynamisch erhöht oder in AUTOMATIC geändert werden. Die dynamische Erhöhung der Konfigurationswerte für die Speicherpools kann nur erfolgreich ausgeführt werden, wenn genügend Überlaufspeicher verfügbar ist.
Wenn STMM aktiviert ist (Wert für SELF_TUNING_MEM ist ON), dann werden nur die zugrunde liegenden Speicherpools und der zugrunde liegende Überlaufspeicher optimiert. Wenn zum Zeitpunkt der Datenbankaktivierung eine feste Einstellung existiert, die zu niedrig ist, um die aktuelle Konfiguration zu unterstützen, dann werden die individuellen Bereiche, die von STMM optimiert wurden, reduziert. Auf diese Weise können vorhandene Speicherbeschränkungen berücksichtigt werden. Bei dieser Aktion werden die erzwungenen Minimumgrößen berücksichtigt. Es wird empfohlen, mindestens die Hälfte einer in database_memory definierten festen Konfiguration für die STMM-Optimierung bereitzustellen. Beispiel: Wenn die Größe der Pufferpoolbereiche manuell definiert wird, dann sollten die Pufferpools nicht mehr als die Hälfte des in der Einstellung für database_memory angegebenen festen Werts betragen. Andernfalls kann es zu Einschränkungen bei den STMM-Optimierungsfunktionen und zu einer suboptimalen Leistung sowie zu Symptomen kommen, die in Zusammenhang mit den beschränkten Speicherressourcen stehen.
- COMPUTED
- COMPUTED ist eine Einstellung, die nicht mehr verwendet wird. Ihr Verhalten ähnelt dem von AUTOMATIC, wenn STMM nicht aktiviert ist. Wenn STMM aktiviert ist, dann ähnelt das Verhalten von COMPUTED dem eines festen Werts.
Betriebssystemunterstützung
Betriebssystem | Verfügbare Unterstützung |
---|---|
AIX | Verwendet standardmäßig Seiten mittlerer Größe (64 K), die sich positiv auf die Leistung auswirken können. AIX unterstützt fixierten Speicher und große bis sehr große Seiten (16 MB/16 GB).1 |
HP-UX | Der zugeordnete, gemeinsam genutzte Speicher muss durch virtuellen Auslagerungsspeicher abgesichert werden. HP-UX unterstützt fixierten Speicher.1 |
Linux | Der zugeordnete, gemeinsam genutzte Speicher wird auf die Begrenzung des gemeinsam genutzten, virtuellen Speichers (shmall) angerechnet. Linux unterstützt fixierten Speicher und große Seiten (2 MB).1 |
Solaris | Der zugeordnete, gemeinsam genutzte Speicher muss durch virtuellen Auslagerungsspeicher abgesichert werden und wird auf definierte Begrenzungen des virtuellen Speichers angerechnet. Solaris unterstützt den fixierten ISM-Speicher und große Seiten.2 |
Windows | Unterstützt große Seiten (2 MB).1 |
Anmerkung:
|
Überwachung
db2 "select member, substr(db_name,1,10)as db_name, substr(memory_set_type,1,10) as set_type,
memory_set_size, memory_set_committed, memory_set_used, memory_set_used_hwm
from table(mon_get_memory_set('DATABASE','',-1))"
können die folgenden Informationen zurückgegeben
werden: MEMBER DB_NAME SET_TYPE MEMORY_SET_SIZE MEMORY_SET_COMMITTED MEMORY_SET_USED MEMORY_SET_USED_HWM
------ ---------- ---------- -------------------- -------------------- -------------------- --------------------
0 SAMPLE DATABASE 154927 68616 67829 68616
0 TEST DATABASE 238092 123404 123404 123404
2 Satz/Sätze ausgewählt.
In diesem Fall verwendet die Datenbankspeichergruppe einen Wert von 154927 KB für instance_memory (MEMORY_SET_SIZE) und einen Wert von 68616 KB für den Systemspeicher (MEMORY_SET_COMMITTED), von dem 67829 KB (MEMORY_SET_USED) den Speicherpools zugeordnet sind.
db2pd -db <datenbankname> -memsets -mempools, db2pd -dbptnmem