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

Summary: 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. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

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

Cause

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).

Resolution

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"

Affected Products

Dell Automation Platform, NativeEdge Solutions, Dell Automation Platform Components, NativeEdge
Article Properties
Article Number: 000369678
Article Type: Solution
Last Modified: 16 Oct 2025
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.