Dell 자동화 플랫폼: 커널 6.12부터 Java 기반 컨테이너 "OOMKilled"
概要: Java 기반 컨테이너화된 애플리케이션(예: Keycloak)은 Linux 커널 6.12 이상에서 실행할 때 메모리 부족(OOM) 오류로 인해 예기치 않은 종료를 경험할 수 있습니다. 이 문제는 커널이 "cgroup" 메모리 제한을 노출하는 방식의 변경으로 인해 발생합니다. 이러한 변경사항은 컨테이너 메모리 제한조건을 올바르게 감지하고 준수하는 JVM(Java Virtual Machine)의 기능에 영향을 줍니다. ...
この記事は次に適用されます:
この記事は次には適用されません:
この記事は、特定の製品に関連付けられていません。
すべての製品パージョンがこの記事に記載されているわけではありません。
現象
NativeEdge Dell Automation Platform 1.0의 경우 keycloak 얻고있다 OOMKilled 초기화 중. 예를 들어 helm 설치 중에 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, 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
原因
Linux 커널 6.12부터 커널은 더 이상
cgroup 컨트롤러 정보 제공 /proc/cgroups, JVM은 이전에 컨테이너 메모리 제한을 감지하는 데 의존했습니다. 이 변경으로 인해 영향을 받는 JVM 버전에서 컨테이너 인식이 중단되어 전체 호스트 메모리에 액세스할 수 있다고 가정하게 됩니다. 결과적으로 JVM은 컨테이너가 허용하는 것보다 더 많은 메모리를 할당하여 커널의 OOMkiller.
오픈 소스 프로젝트에는 이에 대한 몇 가지 문제가 있습니다.
Ubuntu 24.04.3은 기본적으로 6.12 커널을 사용하지 않습니다. 그러나 일부 이미지는 이미 6.12, 6.13, 6.14 버전으로 업데이트됩니다(예: AWS 이미지 라이브러리).
解決方法
이 문제는 Dell 자동화 플랫폼 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"対象製品
Dell Automation Platform, NativeEdge Solutions, Dell Automation Platform Components, NativeEdge文書のプロパティ
文書番号: 000369678
文書の種類: Solution
最終更新: 23 5月 2026
バージョン: 4
質問に対する他のDellユーザーからの回答を見つける
サポート サービス
お使いのデバイスがサポート サービスの対象かどうかを確認してください。