Verbesserte Arbeitsspeicherverwaltung in Aurora PostgreSQL - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verbesserte Arbeitsspeicherverwaltung in Aurora PostgreSQL

Kundenworkloads, die den in der DB-Instance verfügbaren freien Arbeitsspeicher ausschöpfen, führen zu einem Neustart der Datenbank durch das Betriebssystem, was die Nichtverfügbarkeit der Datenbank zur Folge hat. Aurora PostgreSQL hat verbesserte Funktionen zur Arbeitsspeicherverwaltung eingeführt, die Stabilitätsprobleme und Neustarts der Datenbank aufgrund von zu wenig freiem Arbeitsspeicher proaktiv verhindern. Diese Verbesserung ist standardmäßig in den folgenden Versionen verfügbar:

  • 15.3 und höhere 15-Versionen

  • 14.8 und höhere 14-Versionen

  • 13.11 und höhere 13-Versionen

  • 12.15 und höhere 12-Versionen

  • 11.20 und höhere 11-Versionen

Die Arbeitsspeicherverwaltung wird auf folgende Weise verbessert:

  • Datenbanktransaktionen, die mehr Arbeitsspeicher anfordern, werden abgebrochen, wenn sich das System einem kritischen Arbeitsspeicherdruck nähert.

  • Das System steht unter kritischem Arbeitsspeicherdruck, wenn der gesamte physische Arbeitsspeicher bereits ausgeschöpft und auch der Swapspeicher nahezu ausgeschöpft ist. Unter diesen Umständen werden alle Transaktionen abgebrochen, die Speicher anfordern, um den Arbeitsspeicherdruck in der DB-Instance sofort zu reduzieren.

  • Wichtige PostgreSQL-Launcher und Hintergrund-Worker wie Autovacuum Worker sind immer geschützt.

Konfigurieren von Speicherverwaltungsparametern

So aktivieren Sie die Speicherverwaltung

Diese Option ist standardmäßig aktiviert. Eine Fehlermeldung wird angezeigt, wenn eine Transaktion aufgrund von zu wenig Arbeitsspeicher abgebrochen wird, wie im folgenden Beispiel gezeigt:

ERROR: out of memory Detail: Failed on request of size 16777216.
So deaktivieren Sie die Speicherverwaltung

Um diese Funktion zu deaktivieren, stellen Sie mit psql eine Verbindung zum Aurora-PostgreSQL-DB-Cluster her und verwenden Sie die SET-Anweisung für die Parameterwerte, wie unten beschrieben.

Für Aurora-PostgreSQL-Versionen 11.21, 12.16, 13.12, 14.9, 15.4 und ältere Versionen:

postgres=>SET rds.memory_allocation_guard = true;

Der Standardwert des rds.memory_allocation_guard Parameters ist false in der Parametergruppe auf gesetzt.

Für Aurora PostgreSQL 12.17, 13.13, 14.10, 15.5 und höhere Versionen:

postgres=>rds.enable_memory_management = false;

Der Standardwert des rds.enable_memory_management Parameters ist true in der Parametergruppe auf gesetzt.

Das Festlegen der Werte dieser Parameter in der DB-Cluster-Parametergruppe verhindert, dass die Abfragen abgebrochen werden. Weitere Informationen zur DB-Cluster-Parametergruppe finden Sie unter Arbeiten mit Parametergruppen.

Der Wert dieser dynamischen Parameter kann auch auf Sitzungsebene festgelegt werden, um eine Sitzung in eine verbesserte Speicherverwaltung einzubeziehen oder auszuschließen.

Anmerkung

Wir raten davon ab, diese Funktion zu deaktivieren, da sie zu out-of-memory Fehlern führen kann, die aufgrund der Speicherauslastung im System zu einem Workload-bedingten Neustart der Datenbank führen können.