Google Cloud Run内存限制是否适用于容器大小?

时间:2019-06-12 17:58:38

标签: google-cloud-run

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

  

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

     

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

此处运行Cloud PM。

只有您加载到内存中的内容才会计入内存使用情况。因此,例如,如果您有一个2GB的容器,但仅在其中执行一个很小的二进制文件,则只有该容器将被视为已用内存。

这意味着,如果您的映像包含许多永远不会加载的OS软件包(例如,因为您是从.big基本映像继承而来的),那就很好。