[您知道一种实际监视GCF(Node.js 8)正在使用多少内存的方法吗?您是否对Node.js 8的Google Cloud Functions(甚至本地)内存配置有建议?
我部署了Google Cloud Function(NodeJS),具有128MB的内存,过去可以很好地工作。
今天,它无法说“ Error: memory limit exceeded.
”。
[GCP告诉我,该函数使用的内存不超过58MiB,但是当它具有128MB时,它将失败并出现内存错误。
我感到迷茫和有缺陷,因为:
[似乎在监视内存消耗方面我不信任Google
我已经看到了这个问题Memory profiler for Google cloud function?,但是Stackdriver Profiler似乎不适用于GCF(per doc)
要在Google Cloud Platform Console中设置内存分配和超时:
- 在Google Cloud Platform控制台中,从左侧菜单中选择Cloud Functions。
- 通过在功能列表中单击其名称来选择一个功能。
- 单击顶部菜单中的编辑图标。
- 从标记为内存分配的下拉菜单中选择内存分配。
- 单击更多以显示高级选项,然后在超时文本框中输入秒数。
- 单击保存以更新功能。
检查内存泄漏的内容(解决问题非常棘手):
/tmp
/在功能实例中存储临时文件也将消耗为该功能配置的内存。 每个功能实例一次只能处理一个并发请求。这意味着在您的代码正在处理一个请求时,不可能将第二个请求路由到同一实例。因此,原始请求可以使用您请求的全部资源(CPU和内存)。
这些是可用于监视您的云功能的可用资源: