Странное поведение сборки мусора приводит к снижению производительности сервераJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Странное поведение сборки мусора приводит к снижению производительности сервера

Сообщение Anonymous »

История приложения:
У нас есть веб-приложение Java на сервере Tomcat для нескольких пользователей. У нас работают более 30 клиентских серверов.
Проблема:
У одного конкретного клиента мы столкнулись со странным явлением, касающимся использование памяти. Система работает часами/днями, вполне нормально, но через некоторое время производительность сервера снижается из-за загрузки ЦП, я думаю, это из-за использования памяти/GC.
Аналитика:
Как видно на снимке экрана, у нас доступно около 14 ГБ памяти, приложение зарезервировало кучу около 5 ГБ и также использует 5 ГБ. Как вы можете видеть, пространство кучи и используемая куча приближаются асимптотически, пока GP не обострится и производительность сервера не упадет все больше и больше.
Инцидент
1 .) в тот момент, когда позвонил клиент, и я сделал дамп кучи

2.) после выхода из системы половины пользователей (снял дамп)

3.) после того, как все пользователи вышли из системы (взял дамп)
для сравнения: это нормальное поведение, как и ожидалось (тот же сервер после выхода из системы, без перезагрузки):
После инцидента
Вопрос:
Почему сборщик мусора пытается очистить все больше и больше и не увеличивает размер кучи?
Вопрос:
Почему сборщик мусора пытается очистить все больше и больше, а размер кучи не увеличивает?
Как его отладить дальше?
Любой толчок в правильном направлении будет полезен и очень полезен. оценен.
Я пытался интерпретировать файлы JFR, дампы HEAP. но это не вело меня в каком-то конкретном направлении. Проблема не в выделенных объектах, а в укрупнении GC и в том, что приложение не будет просто занимать больший размер кучи.

Подробнее здесь: https://stackoverflow.com/questions/793 ... egradation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»