Я использую wildfly-9.0.1.Final на сервере. Выделенная память составляет 20 ГБ с флагом UseG1G C и UseStringDeduplication (с пороговым значением по умолчанию).
Я подозреваю, что сервер использует слишком много памяти. Когда я анализирую heapdump с помощью снятия отметки: опция «держать недоступный объект».
Когда я Когда я анализирую с проверкой: опция «держать недоступный объект»
Я также выполнил часть запроса финализатора, но не повезло. Я проверяю гистограмму для char [] [], я думаю, что String / StringBuilder поддерживаются char [] для хранения данных. ![enter image description here](https://i.stack.imgur.com/V91QQ.png)
Вопрос / Наблюдение
- Какая опция мне нужна для анализа heapdump с / без сохранения недоступного объекта?
- Я считаю, что недоступный объект будет удален в следующем цикле G C.
- Is там любой запрос / метод Итак, я узнал, какой объект ссылался на эти большие номера. String / String / StringBuilder / Char [] (при использовании сохранить недоступный объект)?
- Я наблюдаю, как система повышения памяти этого типа не может освободить заметное количество памяти.
- Я проверил состояние потока финализатора в threaddump это было ОЖИДАНИЕ. Это нормально, правда?
Может кто-нибудь подсказать мне для дальнейшего устранения неполадок.