Как найти утечку памяти в приложении Java/Spring Boot?JAVA

Программисты JAVA общаются здесь
Anonymous
Как найти утечку памяти в приложении Java/Spring Boot?

Сообщение Anonymous »

Я использую Java 8, Tomcat 8, Spring Boot 1 и Oracle jdbc 11. < /p>
У моего приложения есть утечки памяти.
Я могу видеть луки, читая следующие ошибки в журнале приложения: < /p>

Код: Выделить всё

05-May-2025 17:44:55.733 SEVERE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [service] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@1c526612]) and a value of type [org.springframework.security.core.context.SecurityContextImpl] (value [org.springframework.security.core.context.SecurityContextImpl@ffffffff: Null authentication]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.

05-May-2025 17:44:55.734 SEVERE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [service] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@69da601]) and a value of type [java.lang.Class] (value [class oracle.sql.AnyDataFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.

05-May-2025 17:44:55.734 SEVERE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [service] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@4bd76119]) and a value of type [java.lang.Class] (value [class oracle.sql.TypeDescriptorFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
< /code>
Приложение не хочет останавливаться. Всякий раз, когда я пытаюсь остановить Tomcat, появляется это сообщение, и Java -приложение продолжает работать. Однако Main 
и многие другие потоки выходят, но Java -приложение продолжает работать. Мы проигнорировали эту ошибку в течение многих лет, пока она, наконец, не разбила производственный сервер, потому что он съел всю оперативную память. < /P>
Как я могу найти, что именно вызывает утечку памяти? Сообщение не указывает, какой поток или какая строка кода вызывает это. Проблема должна быть связана с драйвером Oracle, поскольку, когда я указываю недопустимую конфигурацию базы данных, запускаю и останавливаю приложение, приложение прекрасно останавливается. Это происходит только тогда, когда приложение на самом деле подключено к базе данных.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... pplication

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