[MIP-156] MCCSServer 프로세스 메모리 사용 증가
Subject
MCCSServer 프로세스 메모리 사용 증가
APPLIES TO:
"MCCS version: 3.1.0.r94772 (2011.07.17 12:17 package)
OS: windows 2008 Standard Edition + sp2 (x86)
APPs: -
Disk Type: -"
SYMPTOMS
"지난 MCCS package 에서 fix 되었던 MCCSserver.exe 메모리 누수로 추정되는 현상이 발생되어 재 case open 요청.
기아차 화성은 총 2 sets 으로 networkcard + virtual ip + 복합응용 구성
총 4 copy 중에 3 copy 가 600M 이상의 메모리를 MCCSserver.exe가 사용 중임(첨부파일 참고)
나머지 1 copy 에 대해서는 300M 정도임.
이중 1 sets에서 600M 이상을 사용하는 서버들에 대한 support file을 받아옴. (첨부파일 참고)"
CAUSE
"WinSysUtil.java execute 메소드에서 errror 파일 삭제 후 리턴 조건판단에 오류가 있었음
파일삭제가 성공했음에도 불구하고 JVM이 종료 할 때까지 파일정보를 보관하는 로직이 있었고, 이 정보가 보관되면서 memory 가 증가된 것임.
deleteOnExit 메소드에서 메모리 릭이 발생한 것임.
7월 버전의 증가도 본 건으로 인한 것이고, logger의 증가 부분은 heap max 에 걸리면 자동 감소되는 정상 증가로 추정함."
SOLUTION
"파일 삭제가 실패할 경우 만 JVM 종료 시 파일이 자동 삭제되도록 수정함.
WinSysUtil.java: 680근방: if (errfile.delete()) ? if (!errfile.delete())"