У меня есть большой микро сервис, который отвечает за уведомления в моей более крупной программе.
сервис - приложение с весенней загрузкой. количество встроенных потоков tomcat ограничено 400, общее количество активных потоков (во всем сервисе) может достигать ~ 600 пиков. я уже проверил все базовые c вещи, такие как переменные класса stati c, которые могут расти, и неиспользуемые экземпляры, которые все еще имеют ссылки и не обнаружили видимых проблем.
используемый сборщик мусора - CMS. G C отлично работает с моей точки зрения, и я вижу, как пики используемой памяти кучи в моей программе идут вверх и вниз. Я собираю подробные журналы G C прямо сейчас, чтобы увидеть, где именно происходит сбой выделения памяти и какие объекты все еще потребляют мою кучу.
проблема в том, что это займет много времени. эта служба обычно дает сбой после 2-3 недель стандартного использования, и я хочу сохранить это поведение.
процесс выполняется с 2000 МБ памяти, с пружинной загрузкой и добавлением памяти контейнера - до 2300 МБ.
есть идеи, как я могу продолжать исследовать службу, прежде чем я получу свои журналы?