4

有关文档中的云运行内存使用情况 ( https://cloud.google.com/run/docs/configuring/memory-limits )

超出允许的内存限制的 Cloud Run 应用程序将被终止。

配置内存限制设置时,您指定的内存分配用于:

  • 运营您的服务
  • 将文件写入磁盘
  • 在容器中运行二进制文件或其他进程,例如 nginx Web 服务器。

容器的大小是否计入“运行您的服务”并计入内存限制?

我们打算使用已经接近内存限制的图像,因此我们想知道服务本身是否只能访问从限制中减去容器大小后剩下的内容

4

2 回答 2

9

Cloud Run PM 在这里。

只有您在内存中加载的内容才会计入您的内存使用量。因此,例如,如果您有一个 2GB 的容器,但只在其中执行一个非常小的二进制文件,那么只有这个会被视为已用内存。

这意味着如果您的映像包含许多永远不会加载的操作系统包(因为例如您继承自 a.big 基础映像),这很好。

于 2019-06-12T21:40:09.137 回答
5

您部署到 Cloud Run 的容器映像的大小计入内存限制。例如,如果您的容器映像为 3 GiB,您仍然可以在 256 MiB 内存环境中运行。

将新文件写入本地文件系统,或(显然)在您的应用程序中分配更多内存将计入容器的内存使用量。(也许也很明显,但值得一提)操作系统会将容器的入口点可执行文件“加载”到内存中(好吧,执行它)。这也将计入可用内存。

于 2019-06-12T21:36:22.847 回答