Warum der Kubernetes-Pod OOMKill bei Verwendung von Eclipse-Temurin 21Java

Java-Forum
Guest
 Warum der Kubernetes-Pod OOMKill bei Verwendung von Eclipse-Temurin 21

Post by Guest »

Ich verwende Eclipse-Temurin JDK 21 als Docker-Basis-Image und führe eine Java-Anwendung aus. Dies ist die Docker-Datei:

Code: Select all

FROM 192.168.1.2:8084/eclipse-temurin:21-jdk

RUN mkdir -p /app
WORKDIR /app
COPY ./app-start/target/app-core-service.jar app-core-service.jar

ENV TZ=Asia/Shanghai

EXPOSE 8080

CMD java ${JVM_OPTS} -jar app-core-service.jar ${APP_ARGS} --spring.profiles.active=${SPRING_PROFILES_ACTIVE}
Dies ist die Java-Anwendung APP_ARGS config:

Code: Select all

-Xss512k -Xms128m -Xmx450m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:31201 -Dcat.enabled=true -Dcat.name=app-core-service-dev

und das ist die Konfiguration des Kubernetes-Ressourcenlimits:

Code: Select all

         resources:
limits:
cpu: 2048m
memory: 1Gi
requests:
cpu: 1024m
memory: 512Mi
aber der Kubernetes-Pod wird mit OOMKill neu gestartet. Warum reicht der Speicher trotz des Pod-Limits mit 1 GB Speicher immer noch nicht aus? Wenn Sie den Speicher vergrößern, verschwindet der OOMKill. Wie nutzt der Pod die weiteren 512 MB Speicher?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post