Reputation: 1464
I am running application in java17 on kubernetes with rollingUpdate deployment.
The JVM properties are as follows:
- name: InitialRAMPercentage
value: '-XX:InitialRAMPercentage=40'
- name: MaxRAMPercentage
value: '-XX:MaxRAMPercentage=80'
- name: GC_OPTS
value: ' -XX:+UseStringDeduplication -XX:CICompilerCount=10 -XX:ConcGCThreads=3 -XX:G1ConcRefinementThreads=6 -XX:ParallelGCThreads=10 -XX:MaxGCPauseMillis=500 -XX:InitiatingHeapOccupancyPercent=30'
- name: JAVA_OPTS
The memory and CPU limits are set as
resources:
requests:
memory: "10Gi"
ephemeral-storage: 2Gi
cpu: 50m
limits:
memory: "12Gi"
ephemeral-storage: 5Gi
cpu: 5
The problem which is seen is that committed heap usage is becoming quite high memory is not getting evicted and returned back to OS, thats where eventually application is leading to slowness and eventually OOM.
Any idea why is this happening in committed heap when seen using datadog is almost twice as heap usage in so lots of space jVM is reserving in for committed heap.
Can you please suggest whats causing this set in config.
Upvotes: 1
Views: 911