跳至內容

如何對 Lambda 函數「執行時期結束」錯誤進行疑難排解?

1 分的閱讀內容
0

我的 AWS Lambda 函數傳回「執行時期結束,錯誤:結束狀態 129」錯誤。

解決方法

請依照以下最佳做法來檢閱 Lambda 函數程式碼、找出根本原因,然後對執行時期錯誤進行疑難排解:

  • 檢查函數程式碼中是否有明確呼叫結束程式碼的語法,例如,process.exit(0)exit()quit()os.Exit()Environment.Exit()。如果函數程式碼包含任何這些結束程式碼,請移除這些代碼,或使用有效的 return 陳述式取代。
  • 檢閱 Lambda 函數的 Amazon CloudWatch Logs,並確認函數的記憶體。Lambda 會根據設定的記憶體數量依比例分配 CPU 運算效能。如果記憶體使用量達到設定的上限,那麼您可能需要增加記憶體數量。您可以將 Lambda 函數的記憶體數量設定在 128 MB 到 10,240 MB 之間。您也可以最佳化程式碼,以減少耗用的資源數量。如需詳細資訊,請參閱確定 Lambda 函數的適當記憶體設定
  • 如果該函數連線到後端資料庫,則可能會出現連線過多的情況。為避免不必要的連線,請在函數處理常式之外初始化資料庫連線。後續的 Lambda 函數叫用請求可以重複使用這些資料庫連線。如需詳細資訊,請參閱使用 AWS Lambda 函數的最佳做法
  • 調用 Lambda 函數時嘗試重複使用閒置連線會導致連線錯誤。若要維持持久連線,請使用與執行時期相關的 keep-alive 指令。如需詳細資訊,請參閱在 Node.js 中以 keep-alive 重複使用連線
  • 檢查 Lambda 函數是否因為檔案描述元和執行緒限制為 1,024而發生「記憶體不足」錯誤。在函數上開啟 Lambda Insights 增強型監控。您可以使用專門的查詢語法來搜尋和分析記憶體使用量指標的日誌資料。例如,您可以監控 fd_use 指標。這些指標會儲存在名稱為 /aws/lambda-insights 的日誌群組中。如需詳細資訊,請參閱 Lambda Insights 收集的指標
AWS 官方已更新 3 年前