Tôi đang cố gắng chạy máy chủ web Jetty trên kubernetes, nó cần một lượng rất lớn ~ 250 GB trong môi trường sản xuất của chúng tôi, ~ 50 GB trong môi trường thử nghiệm của chúng tôi.
Tôi đang sử dụng cầu cảng:9.4-jdk11
, tôi đang cố tránh cài đặt xms
hoặc xmx
cờ một cách rõ ràng vì giá trị khác nhau giữa các môi trường khác nhau, vì điều đó tôi nghĩ tùy thuộc vào -XX:Phần trăm RAM tối đa -XX:Phần trăm RAM ban đầu
sẽ tốt hơn nhiều, nhưng dù tôi có cố gắng thế nào đi chăng nữa thì tôi cũng không thể có được Kích thước Heap tối đa
để vượt qua 32178700288 ~ 30 GB.
Nút chỉ có ứng dụng Java trên đó với một vài sidcar nhỏ, có bộ nhớ 64 GB.
Dockerfile
TỪ cầu cảng:9.4-jdk11
ENV APP_WAR root.war
ENV APP_EXPLODED_WAR root/
ENV APP_DESTINATION_PATH $JETTY_BASE/ứng dụng web/
ENV APP_DESTINATION_WAR $APP_DESTINATION_PATH$APP_WAR
ENV APP_DESTINATION_EXPLODED_WAR $APP_DESTINATION_PATH$APP_EXPLODED_WAR
CỘNG . $APP_DESTINATION_EXPLODED_WAR
ENV JAVA_OPTIONS -XX:+PrintFlagsFinal -XX:MaxRAMPercentage=90 -XX:InitialRAMPercentage=90 -XX:-OmitStackTraceInFastThrow -XX:+UseStringDeduplication -Xlog:gc*,stringdedup*=debug:file=/tmp/gc.log:time
Cài đặt tài nguyên vùng chứa
tài nguyên:
Hạn mức:
bộ xử lý: "8"
bộ nhớ: 60G
yêu cầu:
bộ xử lý: "6"
bộ nhớ: 60G
Dựa trên những giá trị này, tôi sẽ nhận được 90% của 60 GB Kích thước Heap tối đa
~ 54 GB chứ không phải 30 GB.
Bất cứ ý tưởng những gì tôi đang mất tích?