В нашем производственном развертывании tomcat (Tomcat 8 + JVM 8) мы недавно начали наблюдать, что иногда потоки сборки мусора начинают использовать 100% ЦП.Это не всплеск использования.Когда это происходит, поведение сохраняется, и единственным выходом является перезапуск системы.
Мы взяли дамп кучи за это время, но, к сожалению, файл дампов не открывается с помощью какого-либо инструмента - jhat или jvisualvm.Следовательно, мы не можем точно указать код, где произошло распределение.
Почему происходит такой сценарий?Это потому, что приложение создало много объектов, а обработка занимает много времени?
(Примечание: у нас действительно много функций, требующих большого объема памяти; следовательно, ошибка OutofMemoryError имела бы смысл, чем использование процессора на 100%)