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 enOOMKilledstatus. - JVM rapporterer uventet høje estimater for bunkestørrelse, der ofte matcher værtshukommelse snarere end containergrænser.
- Hukommelse tuning flag som
-XX:MaxRAMPercentagesynes 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
keycloakbeholder.
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, NativeEdgeArticle 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.