Passer au contenu

Comment résoudre les erreurs « runtime exited » (arrêt de l’exécution) de la fonction Lambda ?

Lecture de 3 minute(s)
0

Ma fonction AWS Lambda a renvoyé le message d'erreur « Runtime exited with error: exit status 129 » (Arrêt de l’exécution avec l’erreur : statut de sortie 129).

Résolution

Suivez les bonnes pratiques ci-dessous pour examiner le code de la fonction Lambda, identifier la cause première et résoudre l’erreur d’exécution :

  • Vérifiez si le code de fonction contient des codes de sortie qui appellent explicitement une syntaxe telle que process.exit(0), exit(), quit(), os.Exit() et Environment.Exit(). Si le code de fonction contient l’un de ces codes de sortie, supprimez-le ou remplacez-le par une instruction de retour valide.
  • Examinez Amazon CloudWatch Logs pour la fonction Lambda et confirmez la mémoire de la fonction. Lambda alloue la puissance du processeur proportionnellement à la quantité de mémoire configurée. Si la consommation de mémoire a atteint la limite configurée, vous devrez peut-être augmenter la quantité de mémoire. Vous pouvez définir la quantité de mémoire allouée à une fonction Lambda entre 128 Mo et 10 240 Mo. Vous pouvez également optimiser le code pour réduire la quantité de ressources consommées. Pour plus d'informations, consultez la section Déterminer le paramètre de mémoire approprié pour une fonction Lambda.
  • Si la fonction se connecte à des bases de données dorsales, un trop grand nombre de connexions peut se produire. Pour éviter les connexions inutiles, initialisez les connexions à la base de données en dehors du gestionnaire de fonctions. Les demandes d’invocation de fonctions Lambda suivantes peuvent réutiliser ces connexions à la base de données. Pour plus d'informations, consultez la section Bonnes pratiques d'utilisation des fonctions AWS Lambda.
  • Les tentatives de réutilisation d’une connexion inactive lorsque vous invoquez une fonction Lambda entraînent une erreur de connexion. Pour maintenir une connexion permanente, utilisez la directive keep-alive associée à votre environnement d’exécution. Pour plus d’informations, consultez la section Réutilisation des connexions avec keep-alive dans Node.js.
  • Vérifiez si la fonction Lambda contient des erreurs « mémoire insuffisante » en raison de la limite de 1 024 descripteurs de fichiers et de threads. Activez la surveillance améliorée de Lambda Insights sur cette fonction. Vous pouvez utiliser une syntaxe de requête pour rechercher et analyser les données des journaux afin de connaître les métriques d’utilisation de la mémoire spécialisée. Par exemple, vous pouvez surveiller la métrique fd_use. Les métriques sont stockées dans le nom du groupe de journaux /aws/lambda-insights. Pour plus d’informations, consultez la section Métriques collectées par Lambda Insights.
AWS OFFICIELA mis à jour il y a 3 ans