Dell-automaatioalusta: Java-pohjaiset säilöt "OOMKilled" ytimestä 6.12 alkaen
概要: 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. ...
この記事は次に適用されます:
この記事は次には適用されません:
この記事は、特定の製品に関連付けられていません。
すべての製品パージョンがこの記事に記載されているわけではありません。
現象
NativeEdge Dell Automation Platform 1.0: 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
原因
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).
解決方法
Tämä ongelma on ratkaistu Dellin automatisoidussa alustassa 1.1 ja uudemmissa
Jos ongelma ilmenee Dellin automatisoidulla alustalla 1.0, on kaksi mahdollista nopeaa kiertotapaa.
- Lisää säilön muistirajoja tilapäisesti. Seuraavassa on esimerkiksi ohjeet Dell Automation Platformin asentamiseen. Se kaksinkertaistaa
keycloakSäiliö.
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"対象製品
Dell Automation Platform, NativeEdge Solutions, Dell Automation Platform Components, NativeEdge文書のプロパティ
文書番号: 000369678
文書の種類: Solution
最終更新: 23 5月 2026
バージョン: 4
質問に対する他のDellユーザーからの回答を見つける
サポート サービス
お使いのデバイスがサポート サービスの対象かどうかを確認してください。