Dell-automatiseringsplatform: Java-baserede beholdere "OOMKilled" startende fra kerne 6.12

Zusammenfassung: Java-baserede programmer i beholdere (såsom Keycloak) kan opleve uventet opsigelse på grund af fejl i manglende hukommelse (OOM), når de kører på Linux-kerne 6.12 eller nyere. Dette problem skyldes ændringer i, hvordan kernen viser "cgroup"-hukommelsesgrænser. Disse ændringer påvirker Java Virtual Machines (JVM) evne til at registrere og respektere beholderhukommelsesbegrænsninger korrekt. ...

Dieser Artikel gilt für Dieser Artikel gilt nicht für Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden. In diesem Artikel werden nicht alle Produktversionen aufgeführt.

Symptome

For NativeEdge Dell-automatiseringsplatform, keycloak får OOMKilled under initialisering. Det kan f.eks. ske under installationen af roret, når keycloak Pod kommer op.

Logfiler inde i keycloak Afslut 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 af beholderen viser:

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

For andre miljøer kan det være:

  • Systemet afslutter Java-beholdere (f.eks. keycloak, Kafka, Elasticsearch) med en OOMKilled status.
  • JVM rapporterer uventet høje estimater for bunkestørrelse, der ofte matcher værtshukommelse snarere end containergrænser.
  • Hukommelse tuning flag som -XX:MaxRAMPercentage synes ineffektiv.
  • Logfiler kan vise meddelelser som:
    • [debug][os,container] controller memory is not enabled
    • [debug][os,container] One or more required controllers disabled at kernel level

Ursache

Fra og med Linux Kernel 6.12 udsætter kernen ikke længere cgroup Controlleroplysninger fra /proc/cgroups, som JVM tidligere var afhængig af for at registrere containerhukommelsesgrænser. Denne ændring bryder beholderbevidstheden i berørte JVM-versioner, hvilket får dem til at antage, at de har adgang til den fulde værtshukommelse. Som et resultat tildeler JVM mere hukommelse, end beholderen tillader, hvilket udløser kernens OOMkiller.

Der er flere problemer med dette i open source-projekter:

Ubuntu 24.04.3 bruger ikke 6.12-kernen som standard. Men nogle billeder opdateres allerede med 6.12, 6.13, 6.14 versioner (for eksempel i AWS-billedbiblioteket).

Lösung

Der er to mulige hurtige løsninger.

  • Forøg midlertidigt hukommelsesgrænserne for beholderen. Her er f.eks. trin til at fortsætte med installationen af Dell Automation Platform ved at fordoble hukommelsesgrænsen for keycloak beholder.
For at gøre det skal du køre følgende kommando (kontrollér f.eks. dit Orchestrator-navneområde nedenfor dapo er standardnavneområdet for Orchestrator:
kubectl edit sts keycloak -n dapo
Find hukommelsesgrænser og anmodninger, og fordobl dem. keycloak Bruger masser af hukommelse på forberedelsestrinnet. Denne stigning gjorde det muligt for os at bestå dette initialiseringstrin.
  • Indstil eksplicit JVM-hukommelsesgrænser

Brug startflag til manuelt at begrænse hukommelsesforbruget:

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

Betroffene Produkte

Dell Automation Platform, NativeEdge Solutions, Dell Automation Platform Components, NativeEdge
Artikeleigenschaften
Artikelnummer: 000369678
Artikeltyp: Solution
Zuletzt geändert: 16 Okt. 2025
Version:  2
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.