为工作器池配置内存限制

您可以选择为 Cloud Run 工作器池提供的内存量。本页面介绍了如何指定可供工作器池使用的内存量。

了解内存用量

如果 Cloud Run 实例超出其允许的内存限制,则该应用会被终止。

实例的可用内存需要足以支持以下各项:

  • 运行工作器池可执行文件,因为可执行文件必须加载到内存中
  • 在工作器池进程中分配内存
  • 将文件写入文件系统

部署的容器映像的大小不会影响实例的可用内存。

设置和更新内存限制

您可以为 Cloud Run 工作器池设置内存限制。默认情况下,系统会为每个工作器池分配 512 MiB 内存。

要求的最小 CPU 数

您选择的分配内存量对应于工作器池的最小 CPU 数量。设置内存限制时,需要满足以下最小 CPU 数限制:

内存 所需的最少 CPU 数
2 GiB 1 个 vCPU
超过 4 GiB 2 个 vCPU
超过 8 GiB 4 个 vCPU
超过 16 GiB 6 vCPU
超过 24 GiB 8 个 vCPU

最大内存量

您最多可以配置 32 吉比字节 (32 Gi) 内存。

您可以使用自定义组织政策来强制实施内存上限。

最小内存

内存下限设置为 512 MiB。

所需的角色

如需获得配置和部署 Cloud Run 工作器池所需的权限,请让您的管理员为您授予以下 IAM 角色:

如需查看与 Cloud Run 关联的 IAM 角色和权限的列表,请参阅 Cloud Run IAM 角色Cloud Run IAM 权限。如果您的 Cloud Run 工作器池与Google Cloud API(例如 Cloud 客户端库)进行交互,请参阅服务身份配置指南。如需详细了解如何授予角色,请参阅部署权限管理访问权限

配置内存限制

任何配置更改都会导致新修订版本的创建。后续修订版本也将自动采用此配置设置,除非您进行了明确更新。

您可以使用 Google Cloud CLI 或 Terraform 为 Cloud Run 工作器池设置内存限制:

gcloud

您可以使用以下命令更新给定工作器池的内存分配

gcloud beta run worker-pools update WORKER_POOL --memory SIZE

您需要进行如下替换:

  • WORKER_POOL 替换为工作器池的名称
  • SIZE 替换为来自 CPU 和内存表的内存大小。内存大小的格式为定点数或浮点数,后接单位GM(分别表示千兆字节或兆字节),也可以使用等效的 2 的幂次方数,后接单位 GiMi(分别表示吉比字节或兆比字节)。

您还可以在部署期间使用以下命令设置内存限制:

gcloud beta run worker-pools deploy --image IMAGE_URL --memory SIZE

您需要进行如下替换:

  • IMAGE_URL 替换为对包含工作器池的容器映像的引用,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • SIZE 替换为来自 CPU 和内存表的内存大小。内存大小的格式为定点数或浮点数,后接单位 G 或 M(分别对应于千兆字节或兆字节),也可以使用等效的 2 的幂次方单位 Gi 或 Mi(分别对应于吉比字节或兆比字节)。

Terraform

如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令

resource "google_cloud_run_v2_worker_pool" "default" {
  name     = "WORKER_POOL"
  location = "REGION"
  launch_stage = "BETA"

  template {
    containers {
      image = "IMAGE_URL"
      resources {
        limits = {
          memory = "SIZE"
        }
      }
    }
  }
}

您需要进行如下替换:

  • WORKER_POOL 替换为工作器池的名称。
  • REGION 替换为 Google Cloud 区域。例如 europe-west1。
  • IMAGE_URL 替换为对包含工作器池的容器映像的引用,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • SIZE 替换为来自 CPU 和内存表的内存大小。内存大小的格式为定点数或浮点数,后接单位GM(分别表示千兆字节或兆字节),也可以使用等效的 2 的幂次方数,后接单位 GiMi(分别表示吉比字节或兆比字节)。

查看工作器池的内存配置

  1. 在 Google Cloud 控制台中,前往 Cloud Run:

    转到 Cloud Run

  2. 点击工作器池以显示已部署的工作器池列表。

  3. 点击要检查的工作器池,以显示其详细信息窗格。

  4. 点击容器标签页,以显示每个容器的工作器池内存配置。