본문 바로가기

Server/리눅스

[Centos7] Tomcat7 버전 memory leak 및 서버관리

SEVERE: The web application [] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Jul 08, 2021 9:10:04 AM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads
SEVERE: The web application [] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak.

11월 29일 날짜로 한 서버가 맛이 갔다.

톰캣 3개중 하나의 서버가 memory leak 이슈가 발생하며 12시 30분 이후로는 아예 스타트 되질 않아 곤혹을 치뤘습니다..

 

일단 급하게 새로운 서버를 파서 급한불은 껐습니다.

 

에러 내용은 위와 같습니다.

 

원인은 등록된 jdbc 드라이버가 미등록 상태로 변경하던 중 실패 되어 이와 같은 현상이 나타난다는것 입니다.

그래서 해결방법은 강제적으로 미등록 상태로 만들어 한다고 합니다.

 

먼저 jdbc 관련 memory leak 에러는 프로젝트 하위 lib에 있는 mysql-connector-java.jar 파일을 tomcat 하위 lib 폴더로 옮겨 관리 하도록합니다.

 

일단 급한불은 끄긴 했는데 .. 조금 찝찝하니 catalina.out 등 로그 파일도 관리 될수 있도록 날짜별로 생성하고 주기적으로 삭제하도록 스크립트작성을 하도록 하겠습니다!