728x90

톰캣을 재기동(①./shutdown ②./startup)을 하는 과정에서 다음과 같은 에러가 발생했다.


1. Error 메시지

There is insufficient memory for the Java Runtime Environment to continue.

Native memory allocation (mmap) failed to map 1074790400 bytes for committing reserved memory.

An error report file with more information is saved as : 

 

2. 해결방법

 1) 다음 명령어로 톰캣의 메모리를 잡고있는 것을 확인한다.

ps -ef | grep tomcat

 - 에러가 발생한 시점에서 수십 개의 톰캣이 실행되고 있었다.

 

 2) root 오른쪽에 바로 있는 9698이 pid 번호이다. 이것을 죽여줘야한다.

kill -9 9698

 

 3) 2번을 통해 kill하는 것은 몇개 없을 땐 괜찮지만 수십 개를 종료하려면 좀 시간이 걸리기 때문에 이때 reboot를 해주는 것이 빠르다. 

 

3. 원인

 톰캣/bin 경로에서 프로젝트와 연동된 톰캣을 실행, 중지할 때 메모리를 잡고 있는 톰캣은 죽지않고 살아있는 것을 알게 되었다. 

 

근본적인 해결책이 존재하겠지만 아직 찾아보진 않았다. 추가로 공부해야될 과제이다.

728x90
TOP