Dell-automaatioalusta: Java-pohjaiset säilöt "OOMKilled" ytimestä 6.12 alkaen
Yhteenveto: Java-pohjaiset säilösovellukset (kuten Keycloak) saattavat sammua odottamatta muistin loppumisvirheiden (OOM) vuoksi, kun käytössä on Linux Kernel 6.12 tai uudempi. Tämä ongelma johtuu muutoksista tavassa, jolla ydin paljastaa cgroup-muistirajat. Nämä muutokset vaikuttavat Java Virtual Machinen (JVM) kykyyn tunnistaa ja noudattaa säilömuistin rajoituksia oikein. ...
Tämä artikkeli koskee tuotetta
Tämä artikkeli ei koske tuotetta
Tämä artikkeli ei liity tiettyyn tuotteeseen.
Tässä artikkelissa ei yksilöidä kaikkia tuoteversioita.
Oireet
NativeEdge Dell -automaatioalustalle keycloak on saamassa OOMKilled alustuksen aikana. Se voi tapahtua esimerkiksi ruorin asennuksen aikana, kun keycloak pod on tulossa.
Lokit sisällä keycloak Lopeta:
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.
Kontin kuvauksesta käy ilmi:
State: Waiting Reason: CrashLoopBackOff Last State: Terminated Reason: OOMKilled
Muissa ympäristöissä se voi olla:
- Järjestelmä lopettaa Java-säilöt (esim.
keycloak, Kafka, Elasticsearch)OOMKilledtila. - JVM raportoi odottamattoman korkeita kekokokoarvioita, jotka vastaavat usein isäntämuistia säilörajoitusten sijaan.
- Muistin viritysmerkinnät, kuten
-XX:MaxRAMPercentagevaikuttavat tehottomilta. - Lokeissa voi näkyä seuraavanlaisia viestejä:
[debug][os,container] controller memory is not enabled[debug][os,container] One or more required controllers disabled at kernel level
Syy
Linux-ytimestä 6.12 alkaen ydin ei enää paljasta
cgroup Rekisterinpitäjän tiedot: /proc/cgroups, johon JVM aiemmin luotti konttimuistirajojen havaitsemiseksi. Tämä muutos rikkoo säilötietoisuuden JVM-versioissa, joita haavoittuvuus koskee, jolloin he olettavat, että heillä on pääsy koko isäntämuistiin. Tämän seurauksena JVM varaa enemmän muistia kuin säiliö sallii, mikä käynnistää ytimen OOMkiller.
Tähän liittyy useita kysymyksiä avoimen lähdekoodin projekteissa:
Ubuntu 24.04.3 ei käytä 6.12-ydintä oletuksena. Mutta jotkut kuvat päivitetään jo versioilla 6.12, 6.13, 6.14 (esimerkiksi AWS-kuvakirjastossa).
Tarkkuus
Pikakiertotapoja on kaksi.
- Lisää säilön muistirajoja tilapäisesti. Seuraavassa on esimerkiksi ohjeet Dell Automation Platformin asentamiseen. Se kaksinkertaistaa
keycloakkontti.
Tätä varten sinun on suoritettava seuraava komento (tarkista orkestraattorin nimiavaruus, esimerkiksi alla:
dapo on Orchestratorin oletusnimitila:
kubectl edit sts keycloak -n dapo
Etsi muistirajat ja pyynnöt ja tuplaa ne.
keycloak Kuluttaa paljon muistia valmisteluvaiheessa. Tämän lisäyksen ansiosta alustusvaihe voitiin läpäistä.
- Aseta JVM-muistirajat eksplisiittisesti
Rajoita muistin käyttöä manuaalisesti käynnistysmerkintöjen avulla:
extraEnvVars:
- name: JAVA_OPTS_KC_HEAP
value: "-XX:MaxRAMPercentage=70 -XX:MinRAMPercentage=70 -XX:InitialRAMPercentage=50 -XX:MaxRAM=1G"Tuotteet, joihin vaikutus kohdistuu
Dell Automation Platform, NativeEdge Solutions, Dell Automation Platform Components, NativeEdgeArtikkelin ominaisuudet
Artikkelin numero: 000369678
Artikkelin tyyppi: Solution
Viimeksi muutettu: 16 lokak. 2025
Versio: 2
Etsi vastauksia kysymyksiisi muilta Dell-käyttäjiltä
Tukipalvelut
Tarkista, kuuluuko laitteesi tukipalveluiden piiriin.