您可以選擇要為 Cloud Run 工作提供的記憶體量。本頁面說明如何指定工作可用的記憶體量。
瞭解記憶體用量
超出允許記憶體限制的 Cloud Run 執行個體會遭到終止。
執行個體的可用記憶體必須足以支援:
- 執行工作可執行檔,因為可執行檔必須載入記憶體
- 在工作程序中分配記憶體
- 將檔案寫入檔案系統
部署的容器映像檔大小不會影響執行個體可用的記憶體。
設定及更新記憶體限制
您可以為 Cloud Run 工作設定記憶體限制。 根據預設,分配給每個工作的記憶體為 512 MiB。
設定 CPU 值時所需的記憶體
設定 CPU 值時,必須提供下列記憶體:
| CPU | 所需記憶體 |
|---|---|
| 1 個 vCPU | 128 MiB 至 4 GiB |
| 2 個 vCPU | 128 MiB 至 8 GiB |
| 4 個 vCPU | 2 至 16 GiB |
| 6 個 vCPU | 4 至 24 GiB |
| 8 個 vCPU | 4 至 32 GiB |
記憶體大小上限
可設定的記憶體最大量為 32 GiB (32 Gi)。
最低記憶體
在第二代執行環境中,可設定的記憶體下限為 512 MiB。
費用注意事項
Cloud Run 作業的費用會受到記憶體設定和資源啟用時間長度等因素影響。過度佈建資源可能會增加費用。如要判斷哪種記憶體設定最適合您的資源,請按照下列步驟操作:
- 建立初始基準設定。
- 在測試系統負載時,請在 Cloud Monitoring 中監控記憶體使用率指標。
- 視需要調整設定。
如果記憶體使用率持續偏低,請考慮減少分配的記憶體。如果延遲時間較長,且記憶體用量接近 100%,請考慮增加分配的記憶體。如果發生記憶體不足 (OOM) 錯誤,請增加分配的記憶體,或修改應用程式以防止記憶體流失,並減少記憶體用量。請參閱 Cloud Monitoring 資訊主頁,進一步瞭解記憶體使用率。
詳情請參閱 Cloud Run 定價,或使用定價計算機估算費用。
必要的角色
如要取得設定 Cloud Run 作業所需的權限,請要求管理員授予您下列 IAM 角色:
- Cloud Run 開發人員 (
roles/run.developer) 在 Cloud Run 工作上 - 服務身分上的服務帳戶使用者 (
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「Jobs」頁面:
按一下「Deploy container」(部署容器),填寫初始工作設定頁面。如要設定現有工作,請選取該工作,然後按一下「查看及編輯工作設定」。
按一下「容器、連線、安全性」,展開工作屬性頁面。
按一下「容器」分頁標籤。
- 從「記憶體」下拉式清單中選取想要的記憶體大小。
按一下「建立」或「更新」。
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,分別對應於 GB 或 MB;或者是使用 2 的 n 次冪當量Gi或Mi,分別對應於 GiB 或 MiB。
如要在更新工作時設定記憶體限制,請按照下列步驟操作:
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 替換為所需的記憶體大小,至少須為 512Mi。格式為定點數或浮點數,後接以下單位:
G或M,分別對應於 GB 或 MB;或者是使用 2 的 n 次冪當量Gi或Mi,分別對應於 GiB 或 MiB。您也可以指定更多設定,例如環境變數或記憶體限制。
更新現有工作設定:
gcloud run jobs replace job.yaml
Terraform
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
在 Terraform 設定的google_cloud_run_v2_job 資源中新增下列項目:resource "google_cloud_run_v2_job" "default" {
name = "cloudrun-job"
location = "REGION"
deletion_protection = false
template {
template {
containers {
image = "us-docker.pkg.dev/cloudrun/container/job"
resources {
limits = {
cpu = "2"
memory = "SIZE"
}
}
}
}
}
}
更改項目:
- REGION 替換成 Google Cloud 區域。例如:
europe-west1。 - SIZE,並指定所需記憶體大小,至少須為 512Mi。格式為定點數或浮點數,後面加上單位
G或M,分別對應於 GB 或 MB;或者是使用 2 的 n 次冪當量Gi或Mi,分別對應於 GiB 或 MiB。
查看記憶體上限設定
如要查看 Cloud Run 工作的目前記憶體上限設定,請按照下列步驟操作:
控制台
前往 Google Cloud 控制台的 Cloud Run jobs 頁面:
按一下感興趣的工作,開啟「工作詳細資料」頁面。
按一下「查看及編輯工作設定」。
在設定詳細資料中找出記憶體限制設定。
gcloud
使用下列指令:
gcloud run jobs describe JOB_NAME
在傳回的設定中找出記憶體限制設定。