Dell Automation Platform: Op Java gebaseerde containers 'OOMKilled' vanaf Kernel 6.12
Summary: Op Java gebaseerde gecontaineriseerde applicaties (zoals Keycloak) kunnen onverwacht worden beëindigd als gevolg van out-of-memory (OOM)-fouten bij het uitvoeren op Linux Kernel 6.12 of hoger. Dit probleem komt voort uit veranderingen in de manier waarop de kernel "cgroup" geheugenlimieten blootlegt. Deze wijzigingen zijn van invloed op het vermogen van de Java Virtual Machine (JVM) om beperkingen van het containergeheugen correct te detecteren en te respecteren. ...
Αυτό το άρθρο ισχύει για
Αυτό το άρθρο δεν ισχύει για
Αυτό το άρθρο δεν συνδέεται με κάποιο συγκεκριμένο προϊόν.
Δεν προσδιορίζονται όλες οι εκδόσεις προϊόντων σε αυτό το άρθρο.
Symptoms
Voor het NativeEdge Dell Automation Platform keycloak krijgt OOMKilled tijdens de initialisatie. Het kan bijvoorbeeld gebeuren tijdens de installatie van het roer, wanneer de keycloak Pod komt eraan.
Logboeken in de keycloak Eindig met:
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.
In de beschrijving van de container staat:
State: Waiting Reason: CrashLoopBackOff Last State: Terminated Reason: OOMKilled
Voor andere omgevingen kan dit zijn:
- Het systeem beëindigt Java-containers (bijvoorbeeld
keycloak, Kafka, Elasticsearch) met eenOOMKilledstatus. - JVM rapporteert onverwacht hoge schattingen van de heapgrootte, die vaak overeenkomen met het hostgeheugen in plaats van met containerlimieten.
- Memory Tuning-vlaggen zoals
-XX:MaxRAMPercentagelijken niet effectief te zijn. - Logboeken kunnen berichten bevatten zoals:
[debug][os,container] controller memory is not enabled[debug][os,container] One or more required controllers disabled at kernel level
Cause
Vanaf Linux Kernel 6.12 is de kernel niet langer zichtbaar
cgroup controllerinformatie door /proc/cgroups, waarop de JVM eerder vertrouwde om limieten voor het containergeheugen te detecteren. Deze wijziging verbreekt het containerbewustzijn in de betreffende JVM-versies, waardoor ze aannemen dat ze toegang hebben tot het volledige hostgeheugen. Als gevolg hiervan wijst de JVM meer geheugen toe dan de container toestaat, waardoor de kernels OOMkiller.
Bij open-sourceprojecten zijn hier verschillende problemen voor:
Ubuntu 24.04.3 gebruikt niet standaard kernel 6.12. Maar sommige images zijn al bijgewerkt met versies 6.12, 6.13 en 6.14 (bijvoorbeeld in de AWS-imagebibliotheek).
Resolution
Er zijn twee snelle oplossingen mogelijk.
- Verhoog tijdelijk de geheugenlimieten voor de container. Hier volgen bijvoorbeeld de stappen om door te gaan met de installatie van Dell Automation Platform, waarbij de geheugenlimiet voor de
keycloakcontainer.
Om dit te doen, moet u de volgende opdracht uitvoeren (controleer bijvoorbeeld uw orchestrator-naamruimte hieronder
dapo is de standaard naamruimte voor orchestrator:
kubectl edit sts keycloak -n dapo
Zoek de geheugenlimieten en verzoeken en verdubbel ze.
keycloak Verbruikt veel geheugen tijdens de voorbereidingsstap. Dankzij deze toename konden we deze initialisatiestap doorlopen.
- Explicit Set JVM Memory Limits
Gebruik opstartvlaggen om het geheugengebruik handmatig te beperken:
extraEnvVars:
- name: JAVA_OPTS_KC_HEAP
value: "-XX:MaxRAMPercentage=70 -XX:MinRAMPercentage=70 -XX:InitialRAMPercentage=50 -XX:MaxRAM=1G"Επηρεαζόμενα προϊόντα
Dell Automation Platform, NativeEdge Solutions, Dell Automation Platform Components, NativeEdgeΙδιότητες άρθρου
Article Number: 000369678
Article Type: Solution
Τελευταία τροποποίηση: 16 Οκτ 2025
Version: 2
Βρείτε απαντήσεις στις ερωτήσεις σας από άλλους χρήστες της Dell
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.