本页面介绍如何设置内存限制。
了解内存用量
如果 Cloud Run 实例超出其允许的内存限制,则该应用会被终止。
以下各项会计入实例的可用内存:
- 运行应用可执行文件(当可执行文件必须加载到内存中时)
- 在应用进程中分配内存
- 将文件写入文件系统
部署的容器映像的大小不会计入可用内存。
设置和更新内存限制
您可以为 Cloud Run 作业设置内存限制。默认情况下,系统会为每个作业分配 512 MiB 内存。
要求的最小 CPU 数
设置内存限制时,需要满足以下最小 CPU 数限制:
内存 | 所需的最少 CPU 数 |
---|---|
超过 4 GiB | 2 |
超过 8 GiB | 4 |
超过 16 GiB | 6 |
超过 24 GiB | 8 |
最大内存量
您最多可以配置 32 吉比字节 (32 Gi
) 内存。
最小内存
您可以在第二代执行环境中配置的内存量下限为 512 MiB。
所需的角色
如需获得配置 Cloud Run 作业所需的权限,请让管理员向您授予以下 IAM 角色:
-
Cloud Run 作业的 Cloud Run Developer (
roles/run.developer
) 角色 -
服务身份的 Service Account User (
roles/iam.serviceAccountUser
) 角色
如需查看与 Cloud Run 关联的 IAM 角色和权限的列表,请参阅 Cloud Run IAM 角色和 Cloud Run IAM 权限。如果您的 Cloud Run 作业与 Google Cloud API(例如 Cloud 客户端库)进行交互,请参阅服务身份配置指南。如需详细了解如何授予角色,请参阅部署权限和管理访问权限。
配置内存限制
对于 Cloud Run 作业,您必须至少指定 512Mi。如需为 Cloud Run 作业指定内存,请执行以下操作:
控制台
在 Google Cloud 控制台中,进入 Cloud Run 作业页面:
点击部署容器,然后选择作业以填写初始作业设置页面。如果要配置现有作业,请点击作业,然后点击修改。
点击容器、变量和 Secret、连接、安全性以展开作业属性页面。
点击容器标签页。
- 从内存下拉列表中选择所需的内存大小。
点击创建或更新。
gcloud
如需在创建作业时设置内存限制,请运行以下命令:
gcloud run jobs create JOB_NAME --image IMAGE_URL --memory SIZE
替换
- 将 JOB_NAME 替换为作业的名称。
- 将 IMAGE_URL 替换为对容器映像的引用,例如
us-docker.pkg.dev/cloudrun/container/job:latest
。 - 将 SIZE 替换为所需的内存大小。 内存大小的格式为定点数或浮点数,后接单位
G
或M
(分别对应于千兆字节或兆字节),也可以使用等效的 2 的幂次方数,后接单位Gi
或Mi
(分别对应于吉比字节或兆比字节)。
如需在更新作业时设置内存限制,请运行以下命令:
gcloud run jobs update JOB_NAME --memory SIZE
YAML
如果您要创建新的作业,请跳过此步骤。如果您要更新现有作业,请下载其 YAML 配置:
gcloud run jobs describe JOB_NAME --format export > job.yaml
更新
memory
特性:apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - image: IMAGE resources: limits: memory: SIZE
将 SIZE 替换为所需的内存大小,指定至少 512MiB。格式为定点数或浮点数,后接单位
G
或M
(分别表示千兆字节或兆字节),也可以使用 2 的幂次方数,后接单位Gi
或Mi
(分布表示吉比字节或兆比字节分)。您还可以指定更多配置,例如环境变量或内存限制。
更新现有作业配置:
gcloud run jobs replace job.yaml
查看内存限制设置
如需查看 Cloud Run 作业的当前内存限制设置,请按照以下所述操作:
控制台
在 Google Cloud 控制台中,进入 Cloud Run 作业页面:
点击相关作业以打开作业详情页面。
点击配置标签页。
在配置详细信息中找到内存限制设置。
gcloud
使用以下命令:
gcloud run jobs describe JOB_NAME
在返回的配置中找到内存限制设置。