Tomcat 8.5 Java 8 Ошибка нехватки памяти после введения Redis для управления сеансамиJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Tomcat 8.5 Java 8 Ошибка нехватки памяти после введения Redis для управления сеансами

Сообщение Гость »


У меня есть приложение Java 8, развернутое на Tomcat 8.5, которое работало без сбоев до недавнего времени, когда Tomcat внезапно остановился. Изучив логи, я обнаружил ошибку «недостаточно памяти»:

Java вызывает oom-killer: gfp_mask=0x100dca(GFP_HIGHUSER_MOVABLE|__GFP_ZERO), order=0, oom_score_adj=0 До сих пор приложение функционировало правильно, и единственным серьезным изменением было введение Redis для управления сеансами пользователей с использованием библиотеки Redisson. Redis устанавливается на тот же физический сервер, где находится приложение Tomcat. Приложению выделяется большая часть доступной памяти, оставляя на все остальное примерно 2 ГБ.

В первый день сбоя я заметил, что сборщик мусора освобождает память, но jvm все равно вылетел.
Изображение



Изображение


На второй день использование кучи Old Gen было таким:


Изображение


А это была деятельность GC:


Изображение


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

Я пытаюсь понять, связана ли эта проблема с разделением ресурсов сервера между Tomcat и Redis, или это потенциальная утечка памяти в приложении. Мы будем очень признательны за любые идеи или предложения о том, как диагностировать и решить эту проблему.

Изображение
Ответить

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

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

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

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

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