Каково значение MetaspaceSize по умолчанию для 64-разрядных серверов? Я не мог найти его в официальной документации.Рекомендации по установке MetaspaceSize - java 8
Я наблюдаю, что на сервере JVM процесс, временами, частота GC становится высокой и продолжает расти. Если я перезапущу службу несколько раз, она вернется к стабильной. Я думаю, что это связано с обновлением JRE.
Размер JVM Heap max составляет 6 ГБ, но когда эта проблема возникает, мы видим, что используется только куча 3 ГБ. Metaspace растет очень мало и почти всегда заполнен. Я попытался увеличить metaspace до 1 ГБ, и это улучшает пропускную способность.
Я думаю, что происходит, что Metaspace по умолчанию настроен на очень низкое значение, и, таким образом, GC ударяет. Знак высокой воды постоянно увеличивается (опять же очень мало) каждый раз, когда происходит GC.
Я хочу установить MetaspaceSize (не уверен, что такое текущее значение).
Документы Oracle говорят, что нет никаких рекомендаций, чтобы знать, как установить MetaspaceSize. Но есть ли способ узнать, что будет правильным значением для его установки?
Один намек я получил от Docs Oracle заключается в следующем:
If the committed space available for class metadata as a percentage of the total committed space for class metadata is greater than MaxMetaspaceFreeRatio, then the high-water mark will be lowered. If it is less than MinMetaspaceFreeRatio, then the high-water mark will be raised.
Но до сих пор не удалось выяснить, как стабилизировать GCs..I три вопроса:
- Что такое по умолчанию MetaspaceSize на 64-битных серверах?
- Каковы значения по умолчанию: MaxMetaspaceFreeRatio, MinMetaspaceFreeRatio установлен на? Ответ: Он показывает, что Min is 40, Max is 70
- Как решить вопрос о значении Metaspacesize?
' java -XX: + UnlockDiagnosticVMOptions -XX: + PrintFlagsFinal -version -XX: + UseG1GC | grep Metaspace' – Savior
"* Я думаю, что происходит, что Metaspace по умолчанию имеет очень низкое значение, и, таким образом, GC ударяет в *" - Почему вы так думаете? Ваше объяснение не содержит намека на то, почему первое, что виновато, должно быть в метапассе, а не только в куче (или в свободной памяти) вообще. – Holger
@Holger Я обновил описание с подробностями о том, почему я думаю, что проблема с метапроцессором. Метаспасе был не первым, кто виноват. – AshwiniR