Dell-automatiseringsplattform: Java-baserte beholdere "OOMKilled" starter fra Kernel 6.12

Samenvatting: Java-baserte containeriserte applikasjoner (for eksempel Keycloak) kan oppleve uventet avslutning på grunn av feil utenfor minnet (OOM) når de kjører på Linux Kernel 6.12 eller nyere. Dette problemet stammer fra endringer i hvordan kjernen eksponerer "cgroup"-minnegrenser. Disse endringene påvirker Java Virtual Machines (JVM) evne til å oppdage og respektere beholderminnebegrensninger på riktig måte. ...

Dit artikel is van toepassing op Dit artikel is niet van toepassing op Dit artikel is niet gebonden aan een specifiek product. Niet alle productversies worden in dit artikel vermeld.

Symptomen

For NativeEdge Dell Automation Platform 1.0, keycloak blir OOMKilled under initialisering. For eksempel kan det skje under rorinstallasjonen, når keycloak pod kommer opp.

Logger inne i keycloak Avslutt med:

Appending additional Java properties to JAVA_OPTS
Changes detected in configuration. Updating the server image.
Updating the configuration and installing your custom providers, if any. Please wait.

Beskrivelsen av beholderen viser:

State: Waiting
  Reason: CrashLoopBackOff
Last State: Terminated
  Reason: OOMKilled

For andre miljøer kan det være:

  • Systemet avslutter Java-containere (for eksempel, keycloak, Kafka, Elasticsearch) med en OOMKilled Status.
  • JVM rapporterer uventet høye anslag for heap-størrelse, og samsvarer ofte med vertsminnet i stedet for beholdergrensene.
  • Justeringsflagg for minne som -XX:MaxRAMPercentage synes ineffektiv.
  • Logger kan vise meldinger som:
    • [debug][os,container] controller memory is not enabled
    • [debug][os,container] One or more required controllers disabled at kernel level

Oorzaak

Fra og med Linux Kernel 6.12 eksponerer ikke kjernen lenger cgroup Informasjon om kontroller ved hjelp av /proc/cgroups, som JVM tidligere stolte på for å oppdage minnegrenser for beholdere. Denne endringen bryter beholderbevisstheten i berørte JVM-versjoner, og får dem til å anta at de har tilgang til hele vertsminnet. Som et resultat tildeler JVM mer minne enn beholderen tillater, og utløser kjernens OOMkiller.

Det er flere problemer for dette i åpen kildekode-prosjekter:

Ubuntu 24.04.3 bruker ikke 6.12-kjernen som standard. Men noen bilder er oppdatert med 6.12, 6.13, 6.14-versjoner allerede (for eksempel i AWS-bildebiblioteket).

Oplossing

Dette problemet er løst fra Dell Automated Platform 1.1 og nyere

Hvis problemet oppstår på Dell Automated Platform 1.0, er det to mulige raske løsninger.

  • Øk minnegrensene for beholderen midlertidig. Her er for eksempel trinn for å fortsette med installasjonen av Dell Automation Platform, der minnegrensen dobles for keycloak Beholder.
For å gjøre det, må du kjøre følgende kommando (sjekk orkestratornavneområdet, for eksempel nedenfor dapo er standard Orchestrator-navneområde:
kubectl edit sts keycloak -n dapo
Finn minnegrensene og forespørslene, og doble dem. keycloak Bruker mye minne på forberedelsestrinnet. Denne økningen tillot oss å passere dette initialiseringstrinnet.
  • Angi eksplisitt JVM-minnegrenser

Bruk oppstartsflagg til å begrense minnebruken manuelt:

extraEnvVars:
  - name: JAVA_OPTS_KC_HEAP
    value: "-XX:MaxRAMPercentage=70 -XX:MinRAMPercentage=70 -XX:InitialRAMPercentage=50 -XX:MaxRAM=1G"

Getroffen producten

Dell Automation Platform, NativeEdge Solutions, Dell Automation Platform Components, NativeEdge
Artikeleigenschappen
Artikelnummer: 000369678
Artikeltype: Solution
Laatst aangepast: 23 mei 2026
Versie:  4
Vind antwoorden op uw vragen via andere Dell gebruikers
Support Services
Controleer of uw apparaat wordt gedekt door Support Services.