IBM Cloud Docs
メモリー制限を超えた場合のビルドの失敗

メモリー制限を超えた場合のビルドの失敗

ビルドを作成して実行すると、ビルドが正常に完了せずに、メモリー制限を超えたというメッセージを受け取ります。

メモリーの制限を超えたというメッセージを受け取った場合は、ビルド・サイズが小さすぎます。

ビルドの実行時には、コードのコンパイルやコンテナー・イメージのパッケージなどのステップが実行されます。 これらのステップではメモリーが必要になります。 ビルドに smallmediumlargexlarge、または xxlarge のいずれのサイズを選択するかに応じて、ビルド実行に使用できる一時ストレージの最大量が決まります。 ビルドのサイズについて詳しくは、 ビルドのサイズの決定を参照してください。 メモリーの最大量に達すると、ビルド実行は次のようなエラー・メッセージで停止します。

エラー・メッセージの例

Summary: Failed
Reason:  OOMKilled

以下のいずれかの解決策を試してください。

コンソールと CLI のどちらでビルドを実行していようと、ビルドの問題のトラブルシューティングには CLI を使用してください。

  1. ibmcloud ce buildrun get --name BUILDRUN_NAME コマンドを実行して、ビルド実行の詳細を表示します。
  2. コマンド出力の Reason を確認します。

この問題を解決するには、ビルドにより大きなサイズを使用します。

ビルドのサイズを大きくするということは、ビルド実行に割り当てられるメモリーと CPU コアも多くなるということです。 このサイズを大きくするとビルド実行の速度が上がる可能性がありますが、コストも増えます。

ビルド・サイズについて詳しくは、ビルド・サイズの決定を参照してください。

  1. ibmcloud ce build update コマンドを使用して、より大きなサイズを使用するようビルド構成を更新します。次に例を示します。

    ibmcloud ce build update --name <BUILD_NAME> --size <SIZE>
    
  2. ibmcloud ce buildrun submit コマンドを使用して、新しいビルドを実行依頼します。 buildrun submit コマンドには、--build オプションを指定して、ビルド構成の名前を指定する必要があります。 必要に応じて、--name オプションを指定して、そのビルド実行の名前を指定することもできます。 --name オプションを指定した場合は、必ず、失敗したビルド実行とは異なるビルド実行名を使用するか、失敗したビルド実行を ibmcloud ce buildrun delete コマンドを使用して削除してください。 以下に例を示します。

    ibmcloud ce buildrun submit --build <BUILD_NAME> --name <BUILDRUN_NAME>