Почему Spring Metrics показывает, что начальный размер кучи превышает максимальный размер? - PullRequest
0 голосов
/ 17 октября 2018

Мой проект представляет собой приложение Spring Boot (версия = 1.5.7.RELEASE, jdk = 1.8.0_131) с параметрами JVM: -Xms2048M -Xmx2048M -Xmn768M -XX: MaxMetaspaceSize = 256M -XX: MetaspaceSize = 256M.

Я видел, что размер кучи инициализации составляет 2 ГБ, но максимальный размер кучи составляет 1,9 ГБ в Spring Admin.Как происходит разрыв?enter image description here

Кстати, размер пространства метаданных составляет 256 МБ, а почему не для кучи только 205,4 МБ?Почему максимальный размер без кучи равен 1,5 ГБ?

1 Ответ

0 голосов
/ 17 октября 2018

Я видел, что размер кучи инициализации составляет 2 ГБ, но максимальный размер кучи составляет 1,9 ГБ в Spring Admin.Как получается разрыв?

Одно из оставшихся в живых пространств кучи всегда пусто и не учитывается при расчете максимума.См. этот вопрос .

Размер пространства метаданных составляет 256 МБ, почему только для не-кучи 205,4 МБ?

-XX:MetaspaceSize=256M не устанавливает начальнуюРазмер метапространства.Это скорее порог, который запускает GC при достижении.Подробнее см. JDK-8039867 .

Как получается, что максимальный размер без кучи равен 1,5 ГБ?

В метафизе без кучи используется макс. Пространство (максимум 256 МБв вашем случае), пространство сжатого класса (по умолчанию не более 1 ГБ) и кэш кода (по умолчанию не более 240 МБ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...