своих прилаг, раньше указывал xms == xmx - но так
как запускаю все в контейнерах, хочу чтобы лимиты в процентах от значения в cgroups работали,
юзаю опцию -XX:+UseContainerSupport и -XX:+AlwaysActAsServerClassMachine так же.
Ожидал что это все будет работать аналогично опциям xms и xmx, но обнаружил, что
если сделать принудительный gc - реальный размер хипа режется в половину хотя выставил опцию -XX:MinRAMPercentage == -XX:MaxRAMPercentage,
а если выставлять еще -XX:InitialRAMPercentage == -XX:MaxRAMPercentage то хип только при запуске будет равен MaxRAMPercentage, а при первом full gc снова упадет
примерно в несколько раз. Вопрос такой, можно ли как-нибудь с помощью этих опций сделать так, чтобы хип не ресайзился?
Наверное, AlwaysPreTouch поможет. А почему вас так беспокоит уменьшение хипа?
Запускаю в докере, и так как там я уже отдаю контейнеру конкретные значения, думаю зачем ему отдавать память. Я не уверен, конечно, я не мерил - есть ли какой-то от этого импакт на перфоманс. По крайней мере, так советую в некоторых статьях на хабре делать - если это не страшно, то я могу в принципе успокоиться и ничего не делать =)
Обсуждают сегодня