對 Azure Spring 應用程式中的常見結束代碼問題進行疑難排解
注意
基本、標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告。
標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps。
本文適用於:✅ 企業 ✅ 基本/標準
本文說明當您在 Azure Spring Apps 中的應用程式結束並出現錯誤碼時,您可以採取的疑難解答動作。 如果您的應用程式部署失敗,或應用程式在執行時結束,您可能會收到錯誤碼。
結束代碼
結束代碼表示應用程式終止的原因。 下列清單描述一些常見的結束代碼:
0 - 應用程式因為執行完成而結束。 更新您的伺服器應用程式,使其持續執行。
在 Azure Spring Apps 中部署的 Azure 應用程式應該持續提供服務。 結束代碼 0 表示應用程式未持續執行。 檢查您的記錄檔和原始程式碼。
1 - 如果應用程式以非零結束代碼結束,請偵錯程式代碼和相關服務,然後再次部署應用程式。
請考慮下列非零結束代碼的可能原因:
Spring Boot 設定發生問題。
例如,您需要 spring.db.url 參數才能連線到資料庫,但在組態檔中找不到它。
您已與第三方服務中斷連線。
例如,您需要連線到 Redis 服務,但服務無法運作或可用。
您沒有足夠的第三方服務存取權。
例如,您必須連線到 Azure 金鑰保存庫,才能在應用程式中匯入憑證,但您的應用程式沒有存取它的必要許可權。
如果您的應用程式是 Web 伺服器所提供的靜態檔案或動態前端應用程式,請參閱部署 Web 靜態檔案的常見建置和部署錯誤一節。
137 - 應用程式會立即由裝載平台終止,且沒有寬限期。 此結束代碼可能是下列其中一個案例的結果:
當即時性檢查失敗時,裝載平臺會在嘗試終止應用程式並等待寬限期后立即終止應用程式。 請確定您的應用程式正確處理正常關機。
應用程式因為記憶體不足錯誤而結束。 應用程式要求裝載平台無法提供的資源。 更新應用程式的 Java 虛擬機器 (JVM) 參數,以限制資源使用量或相應增加應用程式資源。
如果應用程式是 Java 應用程式,請檢查 JVM 參數值。 它們可能超過應用程式的記憶體限制。
例如,假設您將 Xmx JVM 參數設定為 10 GB,但應用程式最多會使用 5 GB 的記憶體。 減少 Xmx 值或增加應用程式記憶體,以確保 Xmx 參數的值較低或等於應用程式的記憶體限制。
143 - 應用程式因為記憶體不足錯誤或其他錯誤而無法回應健康狀態檢查而結束。
此錯誤碼通常是由記憶體不足錯誤所產生。 如需詳細資訊,請參閱記憶體不足造成應用程式重新啟動的問題。
您也可以使用 Azure CLI az spring app logs 命令,從應用程式記錄檔取得詳細數據。 如需詳細資訊,請參閱 即時串流 Azure Spring Apps 應用程式控制台記錄。