

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Résolution des problèmes de mémoire insuffisante pour les bases de données Aurora MySQL
<a name="AuroraMySQLOOM"></a>

Le paramètre de niveau instance Aurora MySQL `aurora_oom_response` peut autoriser l’instance de base de données à surveiller la mémoire système et à estimer la mémoire utilisée par différentes déclarations et connexions. Si le système manque de mémoire, il peut effectuer une série d’actions pour tenter de libérer cette mémoire. L’objectif est d’éviter le redémarrage de la base de données en raison de problèmes de mémoire insuffisante. Ce paramètre de niveau instance accepte une chaîne d’actions (séparées par des virgules) qu’une instance de base de données doit effectuer lorsque sa mémoire est faible. Le paramètre `aurora_oom_response` est pris en charge pour Aurora MySQL versions 2 et 3.

Les valeurs suivantes, ainsi que leurs combinaisons, peuvent être utilisées pour le paramètre `aurora_oom_response`. Une chaîne vide signifie qu’aucune action n’est effectuée et revient à désactiver la fonctionnalité. La base de données peut donc faire l’objet de redémarrages en raison d’une mémoire insuffisante.
+ `decline` : refuse les nouvelles requêtes une fois que l’instance de base de données manque de mémoire.
+ `kill_connect` : ferme les connexions de base de données qui consomment une grande quantité de mémoire et met fin aux transactions en cours et aux instructions DDL (Data Definition Language). Cette réponse n’est pas prise en charge pour Aurora MySQL version 2.

  Pour plus d’informations, consultez [KILL Statement](https://dev.mysql.com/doc/refman/8.0/en/kill.html) dans la documentation MySQL.
+ `kill_query` : arrête les requêtes dans l’ordre décroissant de leur consommation de mémoire jusqu’à ce que la mémoire de l’instance passe au-dessus du seuil bas. Les instructions DDL ne sont pas arrêtées.

  Pour plus d’informations, consultez [KILL Statement](https://dev.mysql.com/doc/refman/8.0/en/kill.html) dans la documentation MySQL.
+ `print` : imprime uniquement les requêtes qui consomment une grande quantité de mémoire.
+ `tune` : affine les caches de table interne pour restituer de la mémoire au système. Aurora MySQL réduit la mémoire utilisée pour les caches tels que `table_open_cache` et `table_definition_cache` dans des conditions de faible mémoire. Finalement, Aurora MySQL rétablit l’utilisation de la mémoire à des conditions normales lorsque le système n’est plus à court de mémoire.

  Pour plus d’informations, consultez [table\$1open\$1cache](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_table_open_cache) et [table\$1definition\$1cache](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_table_definition_cache) dans la documentation MySQL.
+ `tune_buffer_pool` : diminue la taille du pool de tampons afin de libérer de la mémoire et de la rendre disponible pour que le serveur de base de données puisse traiter les connexions. Cette réponse est prise en charge pour Aurora MySQL versions 3.06 et ultérieures.

  Vous devez associer `tune_buffer_pool` avec `kill_query` ou `kill_connect` dans la valeur du paramètre `aurora_oom_response`. Dans le cas contraire, le redimensionnement du pool de tampons ne se produira pas, même si vous incluez `tune_buffer_pool` dans la valeur du paramètre.

Dans les versions d’Aurora MySQL antérieures à 3.06, pour les classes d’instance de base de données dont la mémoire est inférieure ou égale à 4 Gio, lorsque l’instance est soumise à une pression de mémoire, les actions par défaut incluent `print`, `tune`, `decline` et `kill_query`. Pour les classes d’instance de base de données dont la mémoire est supérieure à 4 Gio, la valeur du paramètre est vide par défaut (désactivé).

Dans Aurora MySQL 3.06 et versions ultérieures, pour les classes d’instance de base de données dont la mémoire est inférieure ou égale à 4 Gio, Aurora MySQL ferme également les connexions les plus gourmandes en mémoire (`kill_connect`). Pour les classes d’instance de base de données dont la mémoire est supérieure à 4 Gio, la valeur du paramètre par défaut est `print`.

Dans Aurora MySQL 3.09 et versions ultérieures, pour les classes d’instance de base de données dont la mémoire est supérieure à 4 Gio, la valeur du paramètre par défaut est `print,decline,kill_connect`.

Si vous rencontrez fréquemment des problèmes de mémoire insuffisante, l’utilisation de la mémoire peut être surveillée à l’aide de [tableaux récapitulatifs de la mémoire](https://dev.mysql.com/doc/refman/8.3/en/performance-schema-memory-summary-tables.html) lorsque `performance_schema` est activé.

Pour les métriques Amazon CloudWatch relatives à un problème de mémoire insuffisante, consultez [Métriques de niveau instance pour Amazon Aurora](Aurora.AuroraMonitoring.Metrics.md#Aurora.AuroraMySQL.Monitoring.Metrics.instances). Pour les variables d’état globales liées à une mémoire insuffisante, consultez [Variables d’état globales Aurora MySQL](AuroraMySQL.Reference.GlobalStatusVars.md).