3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[GCP] Cloud Runでデプロイした時にメモリ上限を越えていて失敗した時のgcloudコマンドでの対処法

Last updated at Posted at 2020-09-04

経緯

Goで書いた簡単なバックエンドのDockerコンテナをCloud Runで動かそうとしてデプロイしたら失敗した。
ログを見たらメモリ上限を越えているとのこと。

Memory limit of 256M exceeded with 277M used. Consider increasing the memory limit, see https://cloud.google.com/run/docs/configuring/memory-limits

ログにはhttps://cloud.google.com/run/docs/configuring/memory-limitsを見ろと書いてある。

見てみると、Cloud Runにおけるメモリの扱いについて説明されている。

許容されるメモリ上限を超える Cloud Run コンテナ インスタンスは終了します。

コンテナ インスタンスの使用可能なメモリは次のとおりです。

アプリケーション実行可能ファイルを実行する(実行可能ファイルをメモリに読み込む必要があるため)
アプリケーション プロセスでメモリを割り当てる
ファイル システムへのファイルの書き込み
デプロイされたコンテナ イメージのサイズは、使用可能なメモリにはカウントされません。

つまり、「コンテナ内で実行するプログラムに必要なメモリサイズ」がデフォルトの設定上限を越えているということらしい(デフォルトは256MB)。

同ページにはGUI上での対処法は書いてあるが、gcloud runコマンドではどうするのか調べたくてgcloud runのリファレンスを見てみる。見事に書いてない。困った。

解決法

Google Cloud Run の運用 - Qiitaに書いてた。

gcloud runコマンドには--memoryフラグがあるのでこれを使う。

gcloud run deploy --project [ProjectID] gcr.io/[ProjectID]/[ServiceName] --memory 512
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?