Я пытаюсь запустить веб-сервер Jetty на kubernetes, ему требуется чрезвычайно огромное количество кучи ~ 250 ГБ в нашей производственной среде, ~ 50 ГБ в нашей тестовой среде.
я использую причал: 9.4-jdk11
, я стараюсь не устанавливать Xms
или же Хмкс
флаги явно, потому что значение отличается в разных средах, для этого я думал, что в зависимости от -XX:MaxRAMPercentage -XX:НачальныйRAMPercentage
было бы намного лучше, но как бы я ни пытался, я не могу получить MaxHeapSize
чтобы пройти 32178700288 ~ 30 Гб.
Узел, на котором установлено только приложение Java с несколькими крошечными сидкарами, имеет 64 ГБ памяти.
Докерфайл
ОТ пристани: 9.4-jdk11
ENV APP_WAR root.war
ENV APP_EXPLODED_WAR корень/
ENV APP_DESTINATION_PATH $JETTY_BASE/веб-приложения/
ENV APP_DESTINATION_WAR $APP_DESTINATION_PATH$APP_WAR
ENV APP_DESTINATION_EXPLODED_WAR $APP_DESTINATION_PATH$APP_EXPLODED_WAR
ДОБАВЛЯТЬ . $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
Настройки ресурсов контейнера
Ресурсы:
пределы:
процессор: "8"
память: 60G
Запросы:
процессор: "6"
память: 60G
Исходя из этих значений, я должен получить 90% от 60 ГБ. MaxHeapSize
~ 54 ГБ, а не 30 ГБ.
Любая идея, что мне не хватает?