Обнаружение утечек памяти в приложениях Java Java - PullRequest
0 голосов
/ 17 октября 2019

У меня есть приложение Spring, которое загружает много данных из S3 и отправляет в RedShift. Я разместил это на машине с 64 ГБ оперативной памяти. При первом развертывании доступная свободная память при запуске команды free составляет 44 ГБ.

enter image description here

На следующий день, когда я выполню ту же команду, объем свободной памяти уменьшится до 30 ГБ и т. Д. Я получаю много файлов .hprof в каталоге / tmp и хочу выяснить причину такого свободного сокращения памяти. Кто-нибудь может мне помочь с этим?

1 Ответ

0 голосов
/ 17 октября 2019

Хорошим инструментом для поиска утечек памяти является JConsole. Полная документация здесь

Вы также должны посмотреть код вашего приложения, какие объекты создаются и остаются там (например, синглтоны). Помните, что все ссылки, которые есть в синглтоне, никогда не будут освобождены сборщиком мусора.

Я бы также проверил, может ли какая-либо из используемых вами библиотек иметь проблему утечки памяти.

...