by Guest » 03 Jan 2025, 13:41
Ich verwende Eclipse-Temurin JDK 21 als Docker-Basis-Image und führe eine Java-Anwendung aus. Dies ist die Java-Anwendungskonfiguration:
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?
Ich verwende Eclipse-Temurin JDK 21 als Docker-Basis-Image und führe eine Java-Anwendung aus. Dies ist die Java-Anwendungskonfiguration:
[code]-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
[/code]
und das ist die Konfiguration des Kubernetes-Ressourcenlimits:
[code] resources:
limits:
cpu: 2048m
memory: 1Gi
requests:
cpu: 1024m
memory: 512Mi
[/code]
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?