Dela via


Felsöka vanliga problem med slutkod i Azure Spring Apps

Kommentar

Basic-, Standard- och Enterprise-planerna kommer att vara inaktuella från och med mitten av mars 2025, med en 3-årig pensionsperiod. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i meddelandet om azure Spring Apps-pensionering.

Standardförbrukningen och den dedikerade planen kommer att vara inaktuell från och med den 30 september 2024, med en fullständig avstängning efter sex månader. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.

Den här artikeln gäller för: ✔️ Enterprise ✔️ Basic/Standard

Den här artikeln beskriver felsökningsåtgärder som du kan vidta när ditt program i Azure Spring Apps avslutas med en felkod. Du kan få en felkod om programdistributionen misslyckas eller om programmet avslutas när det körs.

Slutkoder

Slutkoden anger orsaken till att programmet avslutades. I följande lista beskrivs några vanliga slutkoder:

  • 0 – Programmet avslutades eftersom det kördes till slutförande. Uppdatera serverprogrammet så att det körs kontinuerligt.

    Distribuerade Azure-appar i Azure Spring Apps bör erbjuda tjänster kontinuerligt. En slutkod på 0 anger att programmet inte körs kontinuerligt. Kontrollera loggarna och källkoden.

  • 1 – Om programmet avslutas med en slutkod som inte är noll felsöker du koden och relaterade tjänster och distribuerar sedan programmet igen.

    Tänk på följande möjliga orsaker till en slutkod som inte är noll:

    • Det är något fel med din Spring Boot-konfiguration.

      Du behöver till exempel en spring.db.url-parameter för att ansluta till databasen, men den finns inte i konfigurationsfilen.

    • Du är frånkopplad från en tjänst från tredje part.

      Du måste till exempel ansluta till en Redis-tjänst, men tjänsten fungerar inte eller är tillgänglig.

    • Du har inte tillräcklig åtkomst till en tjänst från tredje part.

      Du måste till exempel ansluta till Azure Key Vault för att importera certifikat i ditt program, men programmet har inte de behörigheter som krävs för att komma åt det.

    • Om ditt program är en statisk fil eller ett dynamiskt klientdelsprogram som hanteras av en webbserver kan du läsa avsnittet Vanliga bygg- och distributionsfel i Distribuera webbstatiska filer.

  • 137 – Programmet avslutas omedelbart av värdplattformen utan respitperiod. Den här slutkoden kan vara resultatet av något av följande scenarier:

    • När liveness-kontrollen misslyckas dödar värdplattformen omedelbart programmet efter att ha försökt avsluta det och väntar på en respitperiod. Se till att programmet hanterar en korrekt avstängning.

    • Programmet avslutades på grund av ett minnesfel. Programmet begärde resurser som värdplattformen inte kunde tillhandahålla. Uppdatera programmets JVM-parametrar (Java Virtual Machine) för att begränsa resursanvändningen eller skala upp programresurser.

      Om programmet är ett Java-program kontrollerar du JVM-parametervärdena. De kan överskrida programmets minnesgräns.

      Anta till exempel att du anger Xmx JVM-parametern till 10 GB, men programmet använder upp till 5 GB minne. Minska Xmx-värdet eller öka programminnet för att se till att värdet för Xmx-parametern är lägre eller lika med programmets minnesgräns.

  • 143 – Programmet avslutades eftersom det inte svarade på en hälsokontroll på grund av ett minnesfel eller något annat fel.

    Den här felkoden genereras oftast av ett out-of-memory-fel. Mer information finns i Problem med omstart av appar som orsakas av minnesbrist.

    Du kan också hämta information från programloggen med hjälp av kommandot Azure CLI az spring app logs . Mer information finns i Stream Azure Spring Apps-programkonsolloggar i realtid.

Nästa steg