Tous les produits
Search
Centre de documentation

Elasticsearch:Configure a garbage collector

Dernière mise à jour :Aug 09, 2026

Certaines instances Alibaba Cloud Elasticsearch (ES) permettent de configurer le ramasse-miettes. Pour les instances disposant d'une mémoire heap importante, le passage du ramasse-miettes par défaut Concurrent Mark Sweep (CMS) au ramasse-miettes G1 réduit la fréquence et la durée des pauses de récupération de mémoire, ce qui améliore la stabilité du cluster et les performances des requêtes.

Contexte

Les versions d'ES antérieures à la 8.x utilisent CMS par défaut. CMS déclenche un cycle de collecte lorsque l'utilisation de la mémoire heap atteint 75 %. Sur les instances dotées d'une mémoire heap importante, ce seuil est fréquemment atteint, provoquant des pauses plus longues et plus perturbatrices. G1 gère les mémoires heap volumineuses avec une efficacité supérieure.

Les versions ES 8.x et ultérieures utilisent G1 par défaut ; il n'est pas possible de modifier le ramasse-miettes.

Prérequis

Avant de commencer, assurez-vous que votre instance répond aux deux exigences suivantes :

  • Version : de 6.7.0 à 8.x (exclue)

  • Mémoire des nœuds de données : 32 Go ou plus (mémoire totale = mémoire d'un seul nœud x nombre de nœuds de données)

Pour vérifier la mémoire totale des nœuds de données :

  1. Accédez à la page Basic Information de l'instance cible.

  2. Dans la section Node Visualization, repérez les spécifications des nœuds de données.

  3. Calculez la mémoire totale : mémoire d'un seul nœud x nombre de nœuds de données.

Si l'exigence de mémoire n'est pas satisfaite, commencez par mettre à niveau l'instance. Pour plus de détails, consultez la rubrique Mettre à niveau un cluster.

Impact du redémarrage progressif

Le changement de ramasse-miettes déclenche un redémarrage progressif du cluster. Lors d'un redémarrage progressif, les nœuds redémarrent un par un ; le cluster continue donc de traiter les requêtes, mais peut connaître de brefs retards de réponse.

La durée du redémarrage dépend de la taille du cluster et du volume de données :

Taille du cluster Durée prévue
Petite 10 à 30 minutes
Grande 30 à 60 minutes

Lorsque le cluster peut continuer à servir le trafic sans interruption :

Le cluster peut généralement gérer un redémarrage progressif sans interruption de service si :

  • Des shards de réplica sont présents sur les index du cluster

  • L'utilisation du CPU est d'environ 60 %

  • L'utilisation de la mémoire heap est d'environ 50 %

  • La valeur load_1m est inférieure au nombre de cœurs CPU

Lorsque de brefs délais d'accès peuvent survenir :

Si la charge du cluster est élevée, si les index ne disposent pas de shards de réplica ou s'il existe des opérations d'écriture ou de requête intensives, configurez un mécanisme de nouvelle tentative dans votre client avant de procéder.

Effectuez cette opération pendant les heures creuses.

Basculer vers G1

  1. Connectez-vous à la console Alibaba Cloud Elasticsearch.

  2. Dans le volet de navigation de gauche, cliquez sur Elasticsearch Clusters.

  3. Dans la barre de menu supérieure, sélectionnez le groupe de ressources et la région. Ensuite, dans la liste Elasticsearch Clusters, cliquez sur l'ID de l'instance cible.

  4. Dans le volet de navigation de gauche, choisissez Configuration and Management > Cluster Configuration.

  5. Dans la section Basic Configuration, cliquez sur Modify à droite de Garbage Collector.

    Si le bouton Modify est grisé, cela signifie que l'instance ne respecte pas les prérequis : la mémoire des nœuds de données est inférieure à 32 Go ou la version se situe en dehors de la plage prise en charge. Mettez à niveau l'instance ou vérifiez la compatibilité de la version avant de poursuivre.
  6. Sur la page Modify Configuration, sélectionnez G1 et cliquez sur OK. Le cluster redémarre automatiquement. Une fois le redémarrage terminé, le basculement vers G1 prend effet.

Référence API

Pour changer le ramasse-miettes par programme, utilisez l'API UpdateAdvancedSetting.