Dell Automation Platform: Javaベースのコンテナ「OOMKilled」(カーネル6.12以降)
Zusammenfassung: Javaベースのコンテナ化されたアプリケーション(Keycloakなど)をLinuxカーネル6.12以降で実行すると、メモリー不足(OOM)エラーが原因で予期せず終了することがあります。この問題は、カーネルが "cgroup" のメモリ制限を公開する方法の変更に起因します。 これらの変更は、コンテナー・メモリーの制約を正しく検出して尊重する Java 仮想マシン (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
NativeEdge Dell Automation Platformの場合、 keycloak 取得している OOMKilled 初期化中。たとえば、helm のインストール中に、 keycloak Podが起動予定です
内部のログ 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、Kafka、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
考えられる簡単な回避策は2つあります。
- コンテナーのメモリ制限を一時的に増やします。たとえば、Dell Automation Platformのインストールを続行し、メモリー制限を2倍にする手順は次のとおりです。
keycloakコンテナ。
これを行うには、次のコマンドを実行する必要があります (たとえば、以下の Orchestrator 名前空間を確認します)
dapo は、デフォルトのオーケストレーター名前空間です。
kubectl edit sts keycloak -n dapo
メモリの制限と要求を見つけて、それらを 2 倍にします。
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: 16 Okt. 2025
Version: 2
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.