Как расследовать утечку памяти дальше - PullRequest
2 голосов
/ 09 июля 2019

В моем приложении постоянно растет CMS Old Gen. Я взял дампы из нескольких экземпляров приложения и открыл его с помощью Eclipse MAT.Это показывает 1 подозрение на утечку:

8,260 instances of "java.lang.Class", loaded by "<system class loader>" occupy 6,371,584 (22.08%) bytes.

Biggest instances:

class java.lang.invoke.MethodType @ 0xd4e40f50 - 585,512 (2.03%) bytes.
class sun.security.jca.Providers @ 0xd55c4648 - 537,272 (1.86%) bytes.[![enter image description here][1]][1]

Если я ищу объект 0xd4e40f50, я вижу большую хэш-карту с множеством ссылок на методы.похоже, что все методы, используемые в приложении

enter image description here

, другой адрес 0xd55c4648 дает список поставщиков безопасности.enter image description here

Используется процессом Java и не относится к моему приложению.Кто-нибудь может подсказать, как расследовать утечку дальше?может ли это означать, что где-то существует круговая зависимость?что еще может быть причиной утечки с такими симптомами?

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