Dell Automation Platform: Java-базовані контейнери «OOMKilled», починаючи з ядра 6.12
Zusammenfassung: Контейнеризовані додатки на основі Java (такі як Keycloak) можуть зазнавати несподіваного завершення через помилки поза пам'яттю (OOM) під час роботи на ядрі Linux 6.12 або новіших версій. Ця проблема виникає через зміни у тому, як ядро відкриває обмеження пам'яті «cgroup». Ці зміни впливають на здатність Java Virtual Machine (JVM) правильно виявляти та поважати обмеження пам'яті контейнерів. ...
Dieser Artikel gilt für
Dieser Artikel gilt nicht für
Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden.
In diesem Artikel werden nicht alle Produktversionen aufgeführt.
Symptome
For NativeEdge Dell Automation Platform 1.0, keycloak отримує OOMKilled під час ініціалізації. Наприклад, це може статися під час встановлення керма, коли keycloak Капсула вже наближається.
Колоди всередині keycloak Завершити на:
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.
Опис контейнера показує:
State: Waiting Reason: CrashLoopBackOff Last State: Terminated Reason: OOMKilled
Для інших локацій це може бути:
- Система завершує Java-контейнери (наприклад,
keycloak, Кафка, Elasticsearch) зOOMKilledСтатус. - JVM повідомляє несподівано високі оцінки розміру купи, часто відповідаючи пам'яті хоста, а не обмеження контейнерів.
- Прапорці налаштування пам'яті, такі як
-XX:MaxRAMPercentageВиглядають неефективними. - Журнали можуть показувати такі повідомлення, як:
[debug][os,container] controller memory is not enabled[debug][os,container] One or more required controllers disabled at kernel level
Ursache
Починаючи з ядра Linux 6.12, ядро більше не відкриває
cgroup Інформація про контролер від /proc/cgroups, на який JVM раніше покладався для виявлення обмежень пам'яті контейнерів. Ця зміна порушує обізнаність про контейнери у версіях JVM, змушуючи їх вважати, що мають доступ до повної пам'яті хоста. У результаті JVM виділяє більше пам'яті, ніж дозволяє контейнер, запускаючи ядро OOMkiller.
Існує кілька проблем у проєктах з відкритим кодом:
Ubuntu 24.04.3 за замовчуванням не використовує ядро 6.12. Але деякі зображення вже оновлюються версіями 6.12, 6.13, 6.14 (наприклад, у бібліотеці зображень AWS).
Lösung
Цю проблему вирішують на Dell Automated Platform 1.1 та новіших версіях
Якщо проблема виникає на Dell Automated Platform 1.0, є два можливі швидкі обхідні шляхи.
- Тимчасово збільшіть обмеження пам'яті контейнера. Наприклад, ось кроки для подальшого встановлення Dell Automation Platform, подвоєння ліміту пам'яті для
keycloakконтейнер.
Для цього потрібно виконати таку команду (наприклад, перевірте простір імен оркестратора нижче
dapo — це простір назв оркестратора за замовчуванням:
kubectl edit sts keycloak -n dapo
Знайдіть межі пам'яті та запити і подвойте їх.
keycloak Це забирає багато пам'яті на етапі підготовки. Це збільшення дозволило нам пройти цей етап ініціалізації.
- Явно встановлені обмеження пам'яті JVM
Використовуйте прапорці запуску для ручного обмеження використання пам'яті:
extraEnvVars:
- name: JAVA_OPTS_KC_HEAP
value: "-XX:MaxRAMPercentage=70 -XX:MinRAMPercentage=70 -XX:InitialRAMPercentage=50 -XX:MaxRAM=1G"Betroffene Produkte
Dell Automation Platform, NativeEdge Solutions, Dell Automation Platform Components, NativeEdgeArtikeleigenschaften
Artikelnummer: 000369678
Artikeltyp: Solution
Zuletzt geändert: 28 Apr. 2026
Version: 3
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.