在Function as a Service platform AWS Lambda中,如果我的函数在容器中执行:
答:当我提供函数在执行过程中需要的内存时,我是否必须考虑到容器将消耗一些RAM?或者仅仅是我的函数的代码需要我提供的内存?
此外,与上述问题的答案无关:
B.如果我为函数的执行提供了8个GiB,当函数的代码没有执行并且容器空闲时(亚马逊网络服务说系统通常在函数执行后将容器在内存中空闲一段不确定的时间,例如在5- 15分钟之间),系统会保留我为函数提供的8 GiB,还是只保留在内存中保持容器所需的内存?
一个空闲的容器通常需要多少内存?我理解这要视情况而定,但我希望从您的经验中得到一些提示(例如,对于具有Python运行时的基础容器)。
在此之前,非常感谢您。
发布于 2021-09-27 13:20:21
A.,据我所知,它只是你的函数在执行过程中需要的内存。
B.当你的函数没有执行时,你根本不会被收取任何内存使用费,如果这就是你问这个问题的原因。但是,如果容器被重用,则在下一次执行期间,您存储在全局变量中的任何内容仍将留在内存中。该函数不会在两次执行之间继续运行,它被“冻结”和“解冻”,如this Amazon blog post中所述。
C.在Lambda中没有空闲容器这样的东西,所以你问题的这一部分没有真正的意义。正如我在上面提到的,容器只有在处理调用请求时才会运行,一旦完成就会停止并销毁或“冻结”。
https://stackoverflow.com/questions/69338362
复制相似问题