0

在函数即服务平台 AWS Lambda 中,如果我的函数在容器内执行:

A. 当我提供我的函数在其执行过程中所需的内存时,我是否必须考虑容器会消耗一些 RAM?还是纯粹是我的函数代码需要我必须提供的内存?

此外,无论上述问题的答案如何:

B. 如果我为执行我的函数提供 8 GiB,当函数的代码未执行且容器处于空闲状态时(AWS 表示系统通常会在内存中保持容器空闲一段不确定的时间,之后函数的执行,例如在 5 到 15 分钟之间),系统会保留我为函数配置的 8 GiB 还是仅保留将容器保存在内存中所需的内存?

C. 空闲容器所需的平均 RAM 通常是多少?我知道这取决于,但我希望您能从经验中得到一个指示(例如对于具有 Python 运行时的基本容器)。

提前谢谢了。

4

1 回答 1

0

A.据我所知,这只是您的函数在执行期间需要的内存。

B.当你的函数没有执行时,你根本不需要为任何内存使用付费,如果这就是你问这个问题的原因。但是,如果容器被重用,您存储在全局变量中的任何内容在下一次执行期间仍将保留在内存中。该函数不会在两次执行之间继续运行,它会被“冻结”和“解冻”,如亚马逊博客文章中所述。

C. Lambda 中没有空闲容器之类的东西,所以你的这部分问题真的没有意义。正如我上面提到的,容器仅在处理调用请求时运行,并在完成后停止并销毁或“冻结”。

于 2021-09-27T13:20:20.707 回答