util_heap_sz - Zwischenspeichergröße für Dienstprogramme (Konfigurationsparameter)

Dieser Parameter bestimmt die Menge des Speichers, der von den Datenbankdienstprogrammen zugeordnet wird.

Konfigurationstyp
Datenbank
Parametertyp
  • Online konfigurierbar (Datenbankverbindung erforderlich)
  • Konfigurierbar durch ein Mitglied in einer Db2 pureScale® umgebung oder einer partitionierten Datenbankumgebung
Weitergabeklasse
Sofort
Standardwert [Bereich]
AUTOMATISCH [16 - 2147483647]

Der Standardwert ist AUTOMATIC mit einem zugrunde liegenden Wert von 5000.

Der Standardwert kann durch den Db2® Configuration Advisor als Teil der Datenbankerstellung, die standardmäßig in einer nicht partitionierten Datenbankumgebung ausgeführt wird. Der Db2 -Konfigurationsadvisor setzt den Parameter UTIL_HEAP_SZ auf AUTOMATIC (Mindestwert 5000), es sei denn, DB2_WORKLOAD=ANALYTICS In diesem Fall wird sie auf AUTOMATIC gesetzt (Mindestwert 1000000).
Maßeinheit
Seiten (4 KB)
Zuordnung
Wenn für die Dienstprogramme des Datenbankmanagers erforderlich
Freigabe
Wenn der Speicher nicht mehr vom Dienstprogramm benötigt wird

Die Belegung des Zwischenspeichers für Dienstprogramme darf bei Bedarf über den konfigurierten Wert hinaus erweitert werden, der den Parametern database_memory und instance_memory sowie den Systemspeicherbegrenzungen unterliegt.

Dienstprogramme können ihr Speicherbelegungsziel basierend auf den Bedürfnissen des Dienstprogramms und der Menge des verfügbaren Zwischenspeichers für Dienstprogramme berechnen. Dieses Ziel kann für einige Dienstprogramme überschrieben werden, indem die Menge des zu verwendenden Speichers angegeben wird. Sie können zum Beispiel die Menge des zu verwendenden Speichers angeben, indem Sie einen Wert für die Option DATA BUFFER des Dienstprogramms LOAD angeben.

Standardmäßig ist der Parameter util_heap_sz auf AUTOMATIC gesetzt. Die Einstellung AUTOMATIC ermöglicht es Dienstprogrammen, Datenbankspeicherüberlauf als Teil des verfügbaren Zwischenspeichers für Dienstprogramme zusätzlich zum zugrunde liegenden konfigurierten Wert zu berücksichtigen. Der zugrunde liegende konfigurierte Wert stellt eine Reservierung des Datenbankspeichers dar. Wenn die reservierte Menge vollständig verwendet wird, wird mehr Zwischenspeicher für Dienstprogramme vom Datenbankspeicherüberlauf hinzugenommen.

Wenn der Parameter util_heap_sz auf einen festen Wert gesetzt ist, wird der Datenbankspeicherüberlauf von Dienstprogrammen nicht als Teil des verfügbaren Zwischenspeichers für Dienstprogramme berücksichtigt. Der feste Wert stellt eine Reservierung des Datenbankspeichers dar und gibt normalerweise die maximale Menge des Speichers an, der von Dienstprogrammen genutzt wird, er stellt jedoch keinen festen Grenzwert dar. Wenn die reservierte Menge vollständig verwendet wird, wird mehr Zwischenspeicher für Dienstprogramme vom Datenbankspeicherüberlauf hinzugenommen. In der Regel wird die reservierte Menge nicht vollständig ausgenutzt, außer das Standardverhalten von Dienstprogrammen wird überschrieben. Das Standardverhalten von Dienstprogrammen wird zum Beispiel überschrieben, wenn für den Befehl LOAD oder BACKUP Puffergrößen angegeben werden.

Empfehlung: Es wird empfohlen, die Standardeinstellung AUTOMATIC zu verwenden. Die Verfügbarkeit von Datenbankspeicherüberlauf bei der Einstellung AUTOMATIC erfüllt den temporären Bedarf von Dienstprogrammen und verhindert gleichzeitig übermäßig große Speicherreservierungen, wenn keine Dienstprogramme ausgeführt werden. Des Weiteren kann der Manager für Speicher mit automatischer Leistungsoptimierung (STMM) zusätzlichen Datenbankspeicherüberlauf für den Zwischenspeicher für Dienstprogramme verfügbar machen, wenn der Speicherbedarf der Dienstprogramme steigt, indem die gesamte Datenbankspeicherkonfiguration optimiert wird.

Überwachung

Sie können Ihre Verwendung von Zwischenspeicher für Dienstprogramme mithilfe der Tabellenfunktion MON_GET_MEMORY_POOL überwachen. Die folgende Abfrage gibt zum Beispiel die Werte der Monitorelemente memory_pool_used und memory_pool_used_hwm zurück:
select memory_pool_used, memory_pool_used_hwm 
from table (mon_get_memory_pool(null,null,null)) 
where memory_pool_type='UTILITY'
Das folgende Beispiel zeigt eine Beispielausgabe, die durch Ausführen der Abfrage generiert wird:
MEMORY_POOL_USED     MEMORY_POOL_USED_HWM
-------------------- --------------------
           137280            137280

  1 record(s) selected.
Sie können auch den Befehl db2pd mit den Parametern -db Name der Datenbank und -mempools zum Überwachen der Verwendung des Zwischenspeichers für Dienstprogramme verwenden.