【问题标题】:AWS Lambda function execution stopsAWS Lambda 函数执行停止
【发布时间】:2017-09-05 12:50:24
【问题描述】:

我正在执行具有以下配置的lambda Nodejs function

1) 最大内存:512 Mb

2) 超时:20 秒

单次执行的内存消耗:100 Mb

执行一个函数大约需要 100 Mb

我注意到了:

Lambda function被多次执行时,消耗的内存不断从100Mb增加到128Mb155Mb等等上...

当它达到最大内存 (512 Mb) 时,执行停止并且我收到以下错误:

在完成请求之前进程退出

几分钟后尝试时,内存被清理并再次从 100 Mb

有没有办法清理 Lambda 函数中使用的内存?如果没有,有没有其他方法可以解决这个问题?

编辑:

我正在使用这个 lambda 函数从 canvas 使用 node-canvas 生成图像

【问题讨论】:

  • 您是否在每次通话时将任何数据保存在tmp 文件夹中?
  • No..我不认为我是,我正在使用此功能从节点画布生成图像

标签: node.js amazon-web-services aws-lambda


【解决方案1】:

我相信你那里可能有一些静态变量。在 Java 环境中,AWS-Lambda 跨多个 lambda 执行将静态变量保存在内存中。因此,如果您有一个静态映射,并且每次执行 lambda 时都向其中添加变量,它会保留在内存中。 node.js 也可能是这种情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-04
    • 2020-04-18
    • 2021-04-12
    • 2016-10-16
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多