云功能如何计算内存消耗?
这是当前当前正在运行的所有功能的总存储量吗?
让我们说:
分配的总内存为512 MB。
3个运行功能,每个功能60MB。
这是否意味着我们总共使用了180MB?还是每个功能都获得了自己的内存消耗?
我正在得到一个看起来像这样的图形以用于内存消耗:
对象不是持久性的,并且我不写本地文件,所以我想知道某个地方是否有问题。
每次部署新功能时,内存消耗都会下降,但是随着调用次数的增加,内存消耗会增加,直到看到内存超出限制错误为止。
答案 0 :(得分:4)
每个函数调用都在其自己的服务器实例中运行。该函数调用在这段时间内的持续时间和内存使用情况用于计费。
单个Cloud Function服务器实例无法并行处理调用。仅串行。每个函数调用均单独计费。仅当Cloud Functions确定多个实例最适合处理该函数的负载时,才能并行调用这些函数。
如果您在全局内存空间中存储了所有任何内容而没有对其进行取消分配,则在该服务器实例中,该内存分配将计入该函数的将来调用,直到该实例由于某种原因被关闭为止。为了最大程度地减少内存使用,请仅在本地分配将在功能完成后清理的对象。内存泄漏通常很难检测到。
在没有看到函数代码并了解其使用行为的情况下,实际上不可能完全解释所看到的图形。