Tous les produits
Search
Centre de documentation

:Que faire si une instance ECS tombe en panne et que le message d'erreur « Out of memory and no killable processes » s'affiche ?

Dernière mise à jour :Aug 18, 2026

Résolvez un plantage d'instance ECS provoqué par la panique du noyau Out of memory and no killable processes en recherchant les fuites de mémoire et en ajustant les paramètres OOM.

Symptôme

Une instance plante lors de l'exécution avec une pile d'appels similaire à la suivante :

[28663.625353] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds swapents oom_score_adj name
[28663.625363] [ 1799]     0  1799    26512      245      56       3        0         -1000 sshd
[28663.625367] [29219]     0 29219    10832      126      26       3        0         -1000 systemd-udevd
[28663.625375] Kernel panic - not syncing: Out of memory and no killable processes...
[28663.634374] CPU: 1 PID: 3578 Comm: kworker/u176:4 Tainted: G           OE   3.10.0-1062.9.1.el7.x86_64 #1
[28663.676873] Call Trace:
[28663.679312]  [<ffffffff8139f342>] dump_stack+0x63/0x81
[28663.684421]  [<ffffffff811b2245>] panic+0xf8/0x244
[28663.689184]  [<ffffffff811b98db>] out_of_memory+0x2eb/0x550
[28663.694726]  [<ffffffff811be254>] __alloc_pages_may_oom+0x114/0x1c0
[28663.700959]  [<ffffffff811bedb3>] __alloc_pages_slowpath+0x7d3/0xa40
[28663.707279]  [<ffffffff811bf229>] __alloc_pages_nodemask+0x209/0x260
[28663.713599]  [<ffffffff81216535>] alloc_pages_current+0x95/0x140
[28663.719573]  [<ffffffff811ba5ee>] __get_free_pages+0xe/0x40
[28663.725113]  [<ffffffff81075dae>] pgd_alloc+0x1e/0x160
[28663.730225]  [<ffffffff810875e4>] mm_init+0x184/0x240
[28663.735249]  [<ffffffff81088102>] mm_alloc+0x52/0x60
[28663.740186]  [<ffffffff81257640>] do_execveat_common.isra.37+0x250/0x780
[28663.759839]  [<ffffffff81257b9c>] do_execve+0x2c/0x30
[28663.764864]  [<ffffffff810a231b>] call_usermodehelper_exec_async+0xfb/0x150
[28663.777246]  [<ffffffff81741dd9>] ret_from_fork+0x39/0x50

Cause

Le noyau ne parvient pas à allouer de la mémoire et ne peut kill aucun processus pour libérer de l'espace, ce qui entraîne le plantage de l'instance. Les causes possibles sont les suivantes :

  • Une fuite de mémoire du noyau épuise la mémoire disponible.

  • Des processus dont le paramètre oom_score_adj est défini sur -1000 consomment une quantité excessive de mémoire et ne peuvent pas être arrêtés.

    Remarque

    oom_score_adj est un entier qui contrôle la priorité de suppression OOM. Plus la valeur est basse, moins le processus risque d'être arrêté ; plus elle est élevée, plus ce risque est important.

Solution

Important

Avant de poursuivre, créez des snapshots pour sauvegarder les données de l'instance afin d'éviter toute perte de données. Consultez la rubrique Créer manuellement un snapshot.

  1. Vérifiez la présence d'une fuite de mémoire du noyau.

    Consultez la rubrique Que faire si le pourcentage de mémoire slab_unreclaimable d'une instance est élevé ?

  2. Vérifiez les paramètres oom_score_adj.

    1. Récupérez le PID du processus cible à l'aide des commandes ps, top ou pgrep :

      ps aux | grep <Process name>

      Remplacez <Process name> par le nom réel du processus.

    2. Vérifiez la valeur oom_score_adj :

      cat /proc/<PID>/oom_score_adj

      Remplacez <PID> par le PID réel.

      Évaluez si les valeurs oom_score_adj sont appropriées pour votre environnement. Un processus dont la valeur oom_score_adj est définie sur -1000 est exempté de la suppression OOM, ce qui peut entraîner l'épuisement de la mémoire disponible.