Tous les produits
Search
Centre de documentation

:Dépannage d'une charge élevée sur les instances Linux

Dernière mise à jour :Aug 18, 2026

Symptômes

  • Lenteur de réponse : Les commandes Secure Shell Protocol (SSH) sont retardées. L'accès au site web ou à l'API est lent ou expire.

  • Métriques élevées : Les métriques du processeur, de la mémoire et des E/S disque dépassent systématiquement 80 %.

  • Interruption de service : Le système arrête les processus critiques en raison d'une erreur de manque de mémoire (OOM), et l'instance redémarre automatiquement.

  • Échec de connexion : Les connexions SSH sont refusées.

Causes

  • Problèmes applicatifs : Le code de l'application présente des goulots d'étranglement au niveau des performances ou des fuites de mémoire.

  • Pics de trafic : L'accès simultané dépasse la capacité de traitement de l'instance.

  • Goulot d'étranglement des E/S : Les opérations de lecture et d'écriture sur le disque sont saturées, ce qui entraîne un taux élevé d'attente d'E/S iowait du processeur.

Solutions

Étape 1 : Utilisez htop pour identifier rapidement les processus anormaux

  1. Connectez-vous à une instance ECS à l'aide d'une connexion VNC.

    1. Accédez à Console ECS - Instances. Dans le coin supérieur gauche, sélectionnez la région et le groupe de ressources de l'instance cible.

    2. Accédez à la page de détails de l'instance cible. Cliquez sur Connect et sélectionnez VNC. Saisissez vos identifiants pour vous connecter à l'instance ECS.

  2. Installez et exécutez htop.

    sudo yum install -y htop
    htop
  3. Analysez la sortie dans l'interface htop.

    • Pour trouver les processus ayant une consommation élevée de processeur, appuyez sur la touche F6 et triez par PERCENT_CPU dans l'ordre décroissant.

    • Pour trouver les processus ayant une consommation élevée de mémoire, appuyez sur la touche F6 et triez par PERCENT_MEM dans l'ordre décroissant.

Étape 2 : Utilisez sar pour diagnostiquer les goulots d'étranglement des ressources

Après avoir utilisé htop pour identifier un symptôme, utilisez sar pour obtenir des données quantitatives et confirmer si le goulot d'étranglement concerne le processeur, la mémoire ou les E/S.

  1. Installez et activez sysstat.

    sudo yum install -y sysstat
    systemctl start sysstat && systemctl enable sysstat
  2. Exécutez une analyse ciblée.

    • Analysez l'utilisation du processeur (sar -u) pour confirmer où le temps processeur est consommé.

      # Collect data once per second for a total of 5 times
      sar -u 1 5
      • Taux élevé de %user : Indique un problème applicatif.

      • Taux élevé de %system : Indique des appels fréquents au noyau ou aux E/S.

      • Le taux %iowait est systématiquement supérieur à 20 % : Indique un goulot d'étranglement des E/S disque.

    • Analysez la charge du système (sar -q) pour mesurer le niveau d'activité du système.

      # Collect data once every 2 seconds for a total of 5 times
      sar -q 2 5
      • La valeur ldavg-1 est supérieure au nombre de cœurs de processeur : Le système est surchargé.

      • Valeur élevée de runq-sz : De nombreux processus sont en file d'attente en attente du processeur.

    • Analysez l'activité de la mémoire et du swap (sar -r et sar -W) pour déterminer si la mémoire est épuisée.

      # Analyze memory usage
      sar -r 1 3
      # Analyze swap activity (Swap)
      sar -W 1 3
      • Les valeurs pswpin/s ou pswpout/s sont systématiquement supérieures à 0 : La mémoire physique est insuffisante et le système utilise le swap sur le disque. Cela dégrade les performances.

    • Analysez les E/S disque (sar -d) pour identifier les goulots d'étranglement des performances du disque.

      # Collect data once per second for a total of 3 times to analyze a specific disk
      sar -d 1 3
      • La valeur %util est proche de 100 % : Les E/S disque sont saturées.

      • La valeur await est supérieure à 20 ms : Le temps de traitement des requêtes d'E/S est trop long.

Étape 3 : Appliquez des solutions et des optimisations ciblées

  • Pour les processus applicatifs ayant une consommation élevée de processeur :

    • Optimisation du code : Utilisez des outils tels que perf (C/C++) et jstack (Java) pour identifier et optimiser le code critique.

    • Optimisation de la logique : Vérifiez et corrigez les opérations inefficaces telles que les boucles infinies et les requêtes SQL effectuant des analyses complètes de table.

  • En cas de mémoire insuffisante ou de swapping fréquent :

    • Recherche de fuites : Utilisez des outils tels que valgrind (C/C++) et jmap (Java) pour analyser les fuites de mémoire.

    • Ajustement des configurations : Configurez les paramètres de mémoire de l'application, tels que les paramètres -Xms et -Xmx pour une machine virtuelle Java (JVM).

    • Mise à niveau des ressources : Augmentez la mémoire physique en modifiant le type d'instance. Pour plus d'informations, consultez la rubrique Présentation des modifications de type d'instance.

  • E/S disque élevées : Pour plus d'informations, consultez la rubrique Dépannage d'une charge d'E/S disque élevée sur les systèmes Linux.

Étapes suivantes

  • Configurer la surveillance et les alertes : Définissez des seuils d'alerte pour les métriques clés telles que le processeur, la mémoire, la charge et le disque afin de recevoir des avertissements précoces.

  • Planifier l'Auto Scaling : Pour les charges de travail fluctuantes, telles que les applications web, configurez des politiques Auto Scaling pour ajouter ou supprimer automatiquement des instances en réponse aux variations de trafic.