設定工作的記憶體限制

您可以選擇要為 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 作業的費用會受到記憶體設定和資源啟用時間長度等因素影響。過度佈建資源可能會增加費用。如要判斷哪種記憶體設定最適合您的資源,請按照下列步驟操作:

  1. 建立初始基準設定。
  2. 在測試系統負載時,請在 Cloud Monitoring 中監控記憶體使用率指標。
  3. 視需要調整設定。

如果記憶體使用率持續偏低,請考慮減少分配的記憶體。如果延遲時間較長,且記憶體用量接近 100%,請考慮增加分配的記憶體。如果發生記憶體不足 (OOM) 錯誤,請增加分配的記憶體,或修改應用程式以防止記憶體流失,並減少記憶體用量。請參閱 Cloud Monitoring 資訊主頁,進一步瞭解記憶體使用率。

詳情請參閱 Cloud Run 定價,或使用定價計算機估算費用。

必要的角色

如要取得設定 Cloud Run 作業所需的權限,請要求管理員授予您下列 IAM 角色:

如需與 Cloud Run 相關聯的 IAM 角色和權限清單,請參閱「Cloud Run IAM 角色」和「Cloud Run IAM 權限」。如果 Cloud Run 作業與Google Cloud API (例如 Cloud 用戶端程式庫) 介接,請參閱服務身分設定指南。如要進一步瞭解如何授予角色,請參閱「部署權限」和「管理存取權」。

設定記憶體限制

您必須為 Cloud Run 工作指定至少 512Mi。如要為 Cloud Run 工作指定記憶體,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run「Jobs」頁面:

    前往 Cloud Run

  2. 按一下「Deploy container」(部署容器),填寫初始工作設定頁面。如要設定現有工作,請選取該工作,然後按一下「查看及編輯工作設定」

  3. 按一下「容器、連線、安全性」,展開工作屬性頁面。

  4. 按一下「容器」分頁標籤。

    圖片

    • 從「記憶體」下拉式清單中選取想要的記憶體大小。
  5. 按一下「建立」或「更新」

gcloud

  1. 如要在建立工作時設定記憶體限制,請按照下列步驟操作:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --memory SIZE

    更改項目:

    • JOB_NAME 改為您的工作名稱。
    • IMAGE_URL容器映像檔的參照,例如 us-docker.pkg.dev/cloudrun/container/job:latest
    • SIZE,並指定所需記憶體大小。大小的格式為定點數或浮點數,後面加上單位 GM,分別對應於 GB 或 MB;或者是使用 2 的 n 次冪當量 GiMi,分別對應於 GiB 或 MiB。
  2. 如要在更新工作時設定記憶體限制,請按照下列步驟操作:

    gcloud run jobs update JOB_NAME --memory SIZE

YAML

  1. 如要建立新工作,請略過這個步驟。如要更新現有工作,請下載其 YAML 設定

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. 更新 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。格式為定點數或浮點數,後接以下單位:GM,分別對應於 GB 或 MB;或者是使用 2 的 n 次冪當量 GiMi,分別對應於 GiB 或 MiB。

    您也可以指定更多設定,例如環境變數或記憶體限制。

  3. 更新現有工作設定:

    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。格式為定點數或浮點數,後面加上單位 GM,分別對應於 GB 或 MB;或者是使用 2 的 n 次冪當量 GiMi,分別對應於 GiB 或 MiB。

查看記憶體上限設定

如要查看 Cloud Run 工作的目前記憶體上限設定,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的 Cloud Run jobs 頁面:

    前往 Cloud Run jobs

  2. 按一下感興趣的工作,開啟「工作詳細資料」頁面。

  3. 按一下「查看及編輯工作設定」

  4. 在設定詳細資料中找出記憶體限制設定。

gcloud

  1. 使用下列指令:

    gcloud run jobs describe JOB_NAME
  2. 在傳回的設定中找出記憶體限制設定。