Migliore gestione della memoria in Aurora PostgreSQL - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Migliore gestione della memoria in Aurora PostgreSQL

I carichi di lavoro dei clienti che esauriscono la memoria libera disponibile nell'istanza database comportano il riavvio del database da parte del sistema operativo, causando l'indisponibilità del database. Aurora PostgreSQL ha introdotto funzionalità migliorate di gestione della memoria che prevengono in modo proattivo i problemi di stabilità e i riavvii del database causati da una memoria libera insufficiente. Questo miglioramento è disponibile per impostazione predefinita nelle seguenti versioni:

  • 15.3 o versioni successive alla 15

  • 14.8 o versioni successive alla 14

  • 13.11 o versioni successive alla 13

  • 12.15 e versioni successive alla 12

  • 11.20 e versioni successive alla 11

Per migliorare la gestione della memoria, effettua le seguenti operazioni:

  • Annullamento delle transazioni del database che richiedono più memoria quando il sistema sta raggiungendo un carico critico della memoria.

  • Si dice che il sistema sia sottoposto a un carico critico della memoria quando esaurisce tutta la memoria fisica e sta per esaurire lo spazio di scambio. In queste circostanze, qualsiasi transazione che richiede memoria verrà annullata nel tentativo di ridurre immediatamente il carico della memoria nell'istanza database.

  • Le utilità di avvio di PostgreSQL essenziali e i worker in background come i worker autovacuum sono sempre protetti.

Configurazione dei parametri di gestione della memoria

Per attivare la gestione della memoria

Questa funzionalità è attivata per impostazione predefinita. Viene visualizzato un messaggio di errore, come quello illustrato nell'esempio seguente, quando una transazione viene annullata a causa di memoria insufficiente.

ERROR: out of memory Detail: Failed on request of size 16777216.
Per disattivare la gestione della memoria

Per disattivare questa funzionalità, connettiti al cluster Aurora PostgreSQL DB con psql e usa l'istruzione SET per i valori dei parametri come indicato di seguito.

Per le versioni 11.21, 12.16, 13.12, 14.9, 15.4 di Aurora PostgreSQL e versioni precedenti:

postgres=>SET rds.memory_allocation_guard = true;

Il valore predefinito del parametro è impostato su nel gruppo Parameterrds.memory_allocation_guard. false

Per Aurora PostgreSQL 12.17, 13.13, 14.10, 15.5 e versioni successive:

postgres=>rds.enable_memory_management = false;

Il valore predefinito del parametro è impostato su nel gruppo rds.enable_memory_management Parameter. true

L'impostazione dei valori di questi parametri nel gruppo di parametri del cluster DB impedisce l'annullamento delle query. Per ulteriori informazioni sul gruppo di parametri del cluster DB, vedere. Utilizzo di gruppi di parametri

Il valore di questi parametri dinamici può anche essere impostato a livello di sessione per includere o escludere una sessione in una migliore gestione della memoria.

Nota

Non è consigliabile disattivare questa funzionalità in quanto potrebbe causare out-of-memory errori che possono causare il riavvio del database indotto dal carico di lavoro a causa dell'esaurimento della memoria del sistema.