跳至内容

如何对 Lambda 函数“运行时退出”错误进行故障排除?

1 分钟阅读
0

我的 AWS Lambda 函数返回了“运行时因错误退出:退出状态 129”错误。

解决方法

按照以下最佳实践查看 Lambda 函数代码,确定根本原因,然后对运行时错误进行故障排除:

  • 检查函数代码中是否有显式调用 process.exit(0)exit()quit()os.Exit()Environment.Exit() 等语法的退出代码。如果函数代码包含其中任何退出代码,则将其删除或替换为有效的返回语句。
  • 查看 Lambda 函数的 Amazon CloudWatch 日志并确认该函数的内存。Lambda 根据配置的内存量按比例分配 CPU 处理能力。如果内存消耗达到配置的限制,则可能需要增加内存量。您可以将分配给 Lambda 函数的内存量配置为介于 128 MB 和 10,240 MB 之间。您还可以优化代码以减少消耗的资源量。有关详细信息,请参阅确定 Lambda 函数的适当内存设置
  • 如果该函数连接到后端数据库,则可能会出现过多连接。为避免不必要的连接,请在函数处理程序之外初始化数据库连接。后续 Lambda 函数调用请求可以重用这些数据库连接。有关详细信息,请参阅使用 AWS Lambda 函数的最佳实践
  • 调用 Lambda 函数时尝试重用空闲连接会导致连接错误。要维护持久连接,请使用与运行时系统关联的 keep-alive 指令。有关详细信息,请参阅通过 Node.js 中的 keep-alive 重用连接
  • 检查 Lambda 函数是否因文件描述符和线程限制为 1,024 而出现“内存不足”错误。对函数启用 Lambda 洞察增强监控。您可以使用专门的查询语法搜索和分析日志数据,以获取内存使用情况指标。例如,您可以监控 fd_use 指标。这些指标存储在名为 /aws/lambda-insights 的日志组中。有关详细信息,请参阅 Lambda 洞察收集的指标
AWS 官方已更新 3 年前