Durch die Nutzung von AWS re:Post stimmt du den AWS re:Post Nutzungsbedingungen

Wie kann ich Fehler der Lambda-Funktion „Runtime Exited“ beheben?

Lesedauer: 2 Minute
0

Meine AWS Lambda-Funktion hat den Fehler „Runtime Exited“ zurückgegeben.

Kurze Beschreibung

Lambda-Laufzeit-Fehler geben einen Statuscode zurück, der dem folgenden ähnelt:

{
    "errorType": "Runtime.ExitError",
    "errorMessage": "RequestId: 1234aa1b-cd50-6c78-90cd-ce1234ce9950 Error: Runtime exited with error: exit status 129"
}

Auflösung

Folgen Sie diesen bewährten Methoden, um den Lambda-Funktionscode zu überprüfen, die Grundursache zu ermitteln und dann den Laufzeitfehler zu beheben.

  • Überprüfen Sie den Funktionscode auf Exit-Codes, die explizit Syntax wie process.exit (0), exit (), ** quit ()**, os.Exit (), Environment.Exit (), usw. aufrufen. Wenn der Funktionscode einen dieser Exit-Codes enthält, entfernen Sie ihn entweder oder ersetzen Sie ihn durch eine gültige Return-Anweisung.
  • Überprüfen Sie die Amazon CloudWatch-Protokolle für die Lambda-Funktion und überprüfen Sie den Funktionsspeicher. Lambda weist die CPU-Leistung proportional zur konfigurierten Speichermenge zu. Möglicherweise müssen Sie den Arbeitsspeicher erhöhen. Sie können die einer Lambda-Funktion zugewiesene Speichermenge zwischen 128 MB und 10.240 MB konfigurieren. Sie können den Code auch optimieren, um den Ressourcenverbrauch zu reduzieren. Weitere Informationen finden Sie unter Speicher und Rechenleistung.
  • Wenn die Funktion eine Verbindung zu Backend-Datenbanken herstellt, können zu viele Verbindungen auftreten. Um unnötige Verbindungen zu vermeiden, initialisieren Sie Datenbankverbindungen außerhalb des Funktionshandlers. Nachfolgende Lambda-Funktionsaufrufanfragen können diese Datenbankverbindungen wiederverwenden. Weitere Informationen finden Sie unter Bewährte Methoden für die Arbeit mit AWS Lambda-Funktionen.
  • Versuche, beim Aufrufen einer Lambda-Funktion eine inaktive Verbindung wiederzuverwenden, führen zu einem Verbindungsfehler. Um eine persistente Verbindung aufrechtzuerhalten, verwenden Sie die Keep-Alive-Direktive, die Ihrer Laufzeit zugeordnet ist. Weitere Informationen finden Sie unter Wiederverwenden von Verbindungen mit Keep-Alive in Node.js.
  • Prüfen Sie, ob die Lambda-Funktion aufgrund des Limits für Dateideskriptoren und Threads von 1.024 Fehler „zu wenig Speicher“ aufweist. Aktivieren Sie die erweiterte Überwachung von Lambda Insights für die Funktion. Sie können Protokolldaten für Speicherauslastungsmetriken mithilfe einer speziellen Abfragesyntax suchen und analysieren. Sie können beispielsweise die Metrik fd\ _use überwachen. Die Metriken werden im Protokollgruppennamen ** /aws/lambda-insights** gespeichert. Weitere Informationen finden Sie unter Von Lambda Insights gesammelte Metriken.

Verwandte Informationen

Wie stelle ich fest, ob meine Lambda-Funktion ein Timeout hat?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren