設定記憶體限制

Cloud Run 位置

Cloud Run 具有「地區性」,這表示執行 Cloud Run 服務的基礎架構位於特定地區,並由 Google 代管,可為該地區內所有區域提供備援功能。

選擇 Cloud Run 服務的執行地區時,請將延遲時間、可用性或耐用性需求做為主要考量。一般而言,您可以選擇最靠近使用者的地區,但您應考量 Cloud Run 服務所使用的其他 GCP 產品位置。使用分散在不同位置的 GCP 產品,可能會影響服務的延遲時間和費用。

Cloud Run 可在下列地區使用:
  • us-central1 (愛荷華州)
如果您已建立 Cloud Run 服務,即可在 GCP 主控台的 Cloud Run 資訊主頁中查看地區。

本頁面說明如何設定記憶體限制。

瞭解記憶體用量

超出允許記憶體限制的 Cloud Run 應用程式會遭到終止。

設定記憶體限制設定時,您指定的記憶體分配會用於:

  • 操作服務
  • 將檔案寫入磁碟
  • 在容器中執行二進位檔或其他程序,例如 nginx 網路伺服器。

設定並更新記憶體限制

根據預設,分配給修訂版本內每個容器執行個體的記憶體為 256MiB。

就像變更任何設定一樣,設定記憶體限制會建立新的修訂版本。除非您明確做出更新,變更這項設定,否則後續的修訂版本也會自動取得這個記憶體限制。

當您建立新服務部署新修訂版本時,可以使用 GCP 主控台或 gcloud 指令列設定記憶體限制:

主控台

  1. 按一下 [CREATE SERVICE] (建立服務) 或 [DEPLOY NEW REVISION] (部署新修訂版本)

  2. 按一下 [SHOW OPTIONAL SETTINGS] (顯示選用設定)。

    映像檔

  3. 從下拉式清單中選取想要的記憶體大小。

  4. 按一下 [Create] (建立) 或 [Deploy] (部署)

指令列

您可以使用以下指令更新特定服務的記憶體分配

gcloud beta run services update [SERVICE] --memory [SIZE]

[SERVICE] 改為您的服務名稱,並將 [SIZE] 改為需要的記憶體大小。記憶體大小格式為定點數或浮點數,後面加上單位 GMK,分別對應於 GB、MB 或 KB;或者是使用 2 的 n 次冪當量 GiMiKi,分別對應於 GiB、MiB 或 KiB。

  • 部署至 Cloud Run 時,記憶體最大量為 2 GiB (2iG),而指定的數字會進位至最接近的 128MiB。

  • 部署至 Cloud Run on GKE 時,記憶體最大量則受限於 GKE 叢集的設定。

您也可以使用以下指令,於部署期間設定記憶體限制:

gcloud beta run deploy --image gcr.io/[PROJECT-ID]/[IMAGE] --memory [SIZE]

請將

  • [PROJECT-ID] 改為您的 GCP 專案 ID。
  • [IMAGE] 改為您的映像檔名稱。
  • [SIZE] 改為上面說明的值。

最佳化記憶體

可以使用下列方式找出服務的記憶體最大需求:(固定佔用記憶體) + (每個要求的記憶體) * (服務並行)

視情況,

  • 若您提供並行服務,您也需要增加記憶體限制以應付最大使用量。

  • 若減少並行服務,即可考慮降低記憶體限制,以節省記憶體用量費用。

如需最小化每個要求的記憶體用量指南,請參閱全域變數的開發提示

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Run