超出記憶體限制時建置失敗
建立並執行建置之後,您的建置未順利完成,且您收到超出記憶體限制的訊息。
如果您收到超出記憶體限制的訊息,則表示您的建置大小太小。
當建置執行時,它正在執行步驟,其中包括程式碼編譯或儲存器映像檔包裝。 這些步驟需要記憶體。 視您選擇建置的 small、medium、large、xlarge 或 xxlarge 大小而定,建置執行可以使用的暫時儲存體數量上限。 如需建置大小的相關資訊,請參閱 判定建置的大小。
達到記憶體上限時,會停止建置執行,並顯示錯誤訊息; 例如:
錯誤訊息範例
Summary: Failed
Reason: OOMKilled
請嘗試下列其中一個解決方案。
不論您是在主控台或 CLI 中執行建置,請使用 CLI 來疑難排解您的建置問題。
- 執行
ibmcloud ce buildrun get --name BUILDRUN_NAME指令,以顯示建置執行的詳細資料。 - 檢閱指令輸出中的
Reason。
若要解決此問題,請對建置使用較大的大小。
建置大小越大,也表示會指派更多記憶體及 CPU 核心給建置執行。 增加此大小可能會加速建置執行,但也會增加其成本。
如需建置大小的相關資訊,請參閱 判斷建置大小。
-
使用
ibmcloud ce build update指令來更新建置配置,以使用更大的大小; 例如:ibmcloud ce build update --name <BUILD_NAME> --size <SIZE> -
使用
ibmcloud ce buildrun submit指令來提交新的建置執行。 對於buildrun submit指令,您必須指定--build選項,以提供建置配置的名稱。 您可以選擇性地指定--name選項,以提供這項建置執行的名稱。 如果您指定--name選項,請確定您使用的建置執行名稱與失敗的建置執行名稱不同,或確定您使用ibmcloud ce buildrun delete指令來刪除失敗的建置執行。 例如,ibmcloud ce buildrun submit --build <BUILD_NAME> --name <BUILDRUN_NAME>