java 8 микро сервис исчерпывает память после долгого времени - PullRequest
0 голосов
/ 16 февраля 2020

У меня есть большой микро сервис, который отвечает за уведомления в моей более крупной программе.

сервис - приложение с весенней загрузкой. количество встроенных потоков tomcat ограничено 400, общее количество активных потоков (во всем сервисе) может достигать ~ 600 пиков. я уже проверил все базовые c вещи, такие как переменные класса stati c, которые могут расти, и неиспользуемые экземпляры, которые все еще имеют ссылки и не обнаружили видимых проблем.

используемый сборщик мусора - CMS. G C отлично работает с моей точки зрения, и я вижу, как пики используемой памяти кучи в моей программе идут вверх и вниз. Я собираю подробные журналы G C прямо сейчас, чтобы увидеть, где именно происходит сбой выделения памяти и какие объекты все еще потребляют мою кучу.

проблема в том, что это займет много времени. эта служба обычно дает сбой после 2-3 недель стандартного использования, и я хочу сохранить это поведение.

процесс выполняется с 2000 МБ памяти, с пружинной загрузкой и добавлением памяти контейнера - до 2300 МБ.

есть идеи, как я могу продолжать исследовать службу, прежде чем я получу свои журналы?

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