표준프레임워크 개발 시스템 적용 후 톰캣오류 문의
- 작성자 :
- 박*수
- 작성일 :
- 2016-05-23 11:06:58
- 조회수 :
- 1,047
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
안녕하세요.
전자정부표준프레임워크 3.1 버전을 사용하여 개발하였는데,
실서버 포팅 후 몇 일 지나 톰캣이 다운되서 로그를 살펴보니 다음과 같은 부분이 있습니다.
(첨부: 실서버톰캣오류.txt)
메세지를 봐서는 메모리누수 문제인 것 같은데요,
개발장비에서 개발시에는 매일 개발장비를 재부팅하였기 때문에 이런일이 나타나지는 않았지만
로그메세지에는 같은 에러가 떨어져 있었습니다. (첨부:tomcat6-stderr.2016-05-19.log)
이 홈페이지에 올라온 샘플 참고로 하여 개발하였는데, 이런문제가 발생해서 당혹스러운데요.
실서버의 톰캣서버에는 다른 홈페이지도 운영중이라 지금 이 문제 때문에 그 홈페이지까지 영향을 받고 있습니다.
원인이 뭔지 조치방법은 무엇인지 궁금합니다.
빠른 답변 부탁드립니다.
전자정부표준프레임워크 3.1 버전을 사용하여 개발하였는데,
실서버 포팅 후 몇 일 지나 톰캣이 다운되서 로그를 살펴보니 다음과 같은 부분이 있습니다.
(첨부: 실서버톰캣오류.txt)
메세지를 봐서는 메모리누수 문제인 것 같은데요,
개발장비에서 개발시에는 매일 개발장비를 재부팅하였기 때문에 이런일이 나타나지는 않았지만
로그메세지에는 같은 에러가 떨어져 있었습니다. (첨부:tomcat6-stderr.2016-05-19.log)
이 홈페이지에 올라온 샘플 참고로 하여 개발하였는데, 이런문제가 발생해서 당혹스러운데요.
실서버의 톰캣서버에는 다른 홈페이지도 운영중이라 지금 이 문제 때문에 그 홈페이지까지 영향을 받고 있습니다.
원인이 뭔지 조치방법은 무엇인지 궁금합니다.
빠른 답변 부탁드립니다.
A
안녕하세요. 표준프레임워크센터입니다.
http://stackoverflow.com/questions/3320400/to-prevent-a-memory-leak-the-jdbc-driver-has-been-forcibly-unregistered
위의 링크내용처럼 tomcat 종료시ThreadLocal 상에 저장된 객체를 해제하려고 할 때에 정상적으로 해제가 되지 않는 경우입니다.
종료시에 나오는 경우로 에러는 아니라 경고를 나타내주는 거라 무시하셔도 됩니다.
하지만 만약 중간 중간에 나온다면 메시지 처럼 메모리 leak 상황의 가능성이 많아 확인을 해보셔야 될 것 같습니다.
원인은 기본적으로 메모리 누수나 커넥션 풀 문제 등의 여러사항이 있으나, 현재 올려주신 로그만으로는 정확한 원인을 확인하기 어렵습니다.
우선 log4j를 사용하실 경우 로그레벨을 "DEBUG"레벨로 변경하여 관련 로그부분을 분석해 보셔야 할 것 같습니다.
그리고 DBCP를 사용하실 경우 설정 부분을 확인하시고, 기본설정으로 사용중이셨다면
timeBetweenEvictionRunsMillis같은 설정을 몇가지 더 추가하셔서 테스트를 진행해 보시기 바랍니다.
>참조링크
http://idkbj.tistory.com/91
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:data_source
감사합니다.
http://stackoverflow.com/questions/3320400/to-prevent-a-memory-leak-the-jdbc-driver-has-been-forcibly-unregistered
위의 링크내용처럼 tomcat 종료시ThreadLocal 상에 저장된 객체를 해제하려고 할 때에 정상적으로 해제가 되지 않는 경우입니다.
종료시에 나오는 경우로 에러는 아니라 경고를 나타내주는 거라 무시하셔도 됩니다.
하지만 만약 중간 중간에 나온다면 메시지 처럼 메모리 leak 상황의 가능성이 많아 확인을 해보셔야 될 것 같습니다.
원인은 기본적으로 메모리 누수나 커넥션 풀 문제 등의 여러사항이 있으나, 현재 올려주신 로그만으로는 정확한 원인을 확인하기 어렵습니다.
우선 log4j를 사용하실 경우 로그레벨을 "DEBUG"레벨로 변경하여 관련 로그부분을 분석해 보셔야 할 것 같습니다.
그리고 DBCP를 사용하실 경우 설정 부분을 확인하시고, 기본설정으로 사용중이셨다면
timeBetweenEvictionRunsMillis같은 설정을 몇가지 더 추가하셔서 테스트를 진행해 보시기 바랍니다.
>참조링크
http://idkbj.tistory.com/91
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:data_source
감사합니다.