Я использую wildfly-9.0.1.Final на сервере. Выделенная память составляет 20 ГБ с флагом UseG1G C и UseStringDeduplication (с пороговым значением по умолчанию).
Я столкнулся с большим использованием памяти на сервере, для устранения неполадок я собрал heapdump. Я использовал Eclipse MAT для анализа heapdumnp. Подозреваемый проблемы предлагают большие номера. объекта String и StringBuilder. Когда я запускаю String: group by value. Я видел большое количество повторяющихся строк.
String Value | Objects | Shallow Heap | Avg. Retained Size | Retained Heap
--------------------------------------------------------------------------------------------------------------------------
/D:/wildfly-9.0.1.Final/bin/content | 12,67,828 | 3,04,27,872 | 112 | >= 135.42 MB
/D:/wildfly-9.0.1.Final/bin/content/myApp-ear.ear | 12,67,828 | 3,04,27,872 | 144 | >= 174.11 MB
/D:/wildfly-9.0.1.Final | 12,67,827 | 3,04,27,848 | 88 | >= 106.40 MB
/D:/wildfly-9.0.1.Final/bin | 12,67,827 | 3,04,27,848 | 96 | >= 116.07 MB
/D:/wildfly-9.0.1.Final/bin/content/myApp-ear.ear/lib | 12,64,464 | 3,03,47,136 | 152 | >= 183.29 MB
Я проверил некоторые строки и путь к G C Похоже, эта строка создается JVM / контейнером. Есть ли конфигурация, чтобы избежать этих больших номеров. объектов String или я могу устранить эту проблему в дальнейшем.