Влияние параметров кучи на ГХ / производительность?

Большая часть места в сети, я получаю ниже информацию о параметрах кучи

-Xms<size> set initial Java heap size -Xmx<size> set maximum Java heap size

Вот мое понимание / вопрос, когда я упоминаю-Xms 512M -Xmx 2048M параметры,

-Xms: - Насколько я понимаю, если моему процессу java на самом деле нужны только 200M, с упоминанием -Xms 512M, процессу java все равно будет назначено только 200M (требуется фактическая память) вместо 500M. Но если я уже знаю, что мое приложение будет загружать эту 512M памяти при запуске, то указание менее чем повлияет на производительность, так как в любом случае необходимо изменить размер блока кучи, что является дорогостоящей операцией.

За обсуждение с моим коллегой, По умолчанию GC сработает на 60% от значения Xms. Это верно ? Если да, это вспомогательный или полный сборщик мусора, который зависит от значения Xms?

Обновление на Xms: - Это похоже на правду после прочтенияПараметры кучи JVM но опять же значение по умолчанию составляет 60% и является ли оно второстепенным или полным GC, которое зависит от значения Xms?

-Xmx: - Насколько я понимаю, с упоминанием -Xmx 2048M, процесс Java на самом деле собирается зарезервировать 2048M памяти для его использования из ОС, так что другому процессу не может быть предоставлена ​​его доля. Если процессу java понадобится больше 2048M памяти, то из памяти будет недостаточно быть брошенным.

Также я считаю, что есть некоторое отношение триггера Full GC к значению -Xmx. Потому что то, что я наблюдал, когда память достигает почти 70% от Xmx, Full GC происходит в jconsole. Это верно?

Конфигурация: - Я использую linux box (64-битная JVM 8). GC по умолчанию, т.е. параллельный GC

Ответы на вопрос(1)

Ваш ответ на вопрос