본계정 @dorian-lee의 일기에서 이어지는 내용인데요. 저녁에 고객사로부터 서버가 죽었다는 연락을 받았습니다. 앱으로 접속을 시도해보았으나 서버의 응답이 없어 급히 톰캣을 재시작했습니다. 이후 서버는 잘 돌아갑니다. 문제는 공휴일이었던 지난 1일(신정)에도 서버의 응답이 없다는 연락을 받았다는 점입니다. 원래는 2일에 원인을 바로 분석해야 했지만, 이번 주까지 마쳐야 할 작업이 많아서 이를 마친 후 보려고 했습니다. 그러나 3일만에 서버 문제가 터지고 말았네요.
서버 로그는 밤 9시가 지나서야 보기 시작했습니다. 그 전까지는 이미 계획된 일들을 하고 있었지요. 로그를 보면서 발견한 키워드는 java.lang.OutOfMemoryError였습니다. 힙의 여유 공간이 부족해져 서버가 작업을 더 진행할 수 없었던 것입니다. 톰캣의 힙 최대 공간을 늘리면 된다는 어드바이스가 있는데, 과연 그것만으로 문제가 해결될지는 아리까리 했습니다. 대표님과 이사님이 논의한 끝에 힙 최대 공간은 1GB에서 4GB로 늘리기로 결정되었습니다. 그 외 메모리를 많이 잡아먹는 코드가 무엇인지 찾아야 하는 과제가 남았네요. 이번에는 시간이 없어 그거까지는 어렵고 이번 앱, 서버 업데이트가 완료되면 검토해야 합니다.
힙 공간을 늘리기 위해 톰캣의 catalina.sh 파일을 수정했지만, 이를 적용하려면 톰캣을 재시작해야 합니다. 이 시간에도 여전히 사용자가 많아서 재시작은 아침 시간이 제일 적절하죠. 새벽 6시에 서버를 재시작하기로 했습니다. 시간이 없어 이번 글은 여기까지만 씁니다. 잠 자는 것도 전투적이네요. ㅎㅎㅎㅎㅎㅎㅎㅎ