이클립스 java.lang.OutOfMemoryError: Java heap space
프로젝트를 진행하면서 에러가 발생하였습니다.
아마 유명한 에러일듯 합니다.
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Arrays.java:3664)
at java.lang.String.<init>(String.java:207)
at java.nio.HeapCharBuffer.toString(HeapCharBuffer.java:567)
at java.nio.CharBuffer.toString(CharBuffer.java:1241)
at java.util.regex.Matcher.toMatchResult(Matcher.java:250)
at java.util.Scanner.match(Scanner.java:1294)
at java.util.Scanner.hasNextLine(Scanner.java:1502)
블라블라블라
비교적 유명한 에러 입니다.
그럼에도 불구하고 포스팅을 하는 이유는
처리방법이 애매모호하기 때문입니다.
인터넷 검색하여 찾은 방법들도 각각 다르고....
jvm, 이클립스, 톰캣 어디서 이 에러가 발생한 것인가!
결국 찾아내서 에러를 고쳤습니다.
했던 방법을 소개해드리겠습니다.
제가 찾은 방법은 3가지였고, 모두 해보았습니다.
결국 3번째 방법으로 문제를 해결하였습니다.
3번째 방법으로 해결이 안될시, 1,2번째 방법을 활용해보세요.
1. 이클립스 eclipse.ini 수정
2. 톰캣의 catalina.bat 수정
3. 이클립스 상에서의 톰캣 aguments 수정하였습니다.
저는 3번째 방법으로 에러를 해결하였습니다.
3번째 방법을 소개하고 1,2번째의 방법도 설명드리겠습니다.
이클립스상의 톰캣을 더블클릭하여 설정 화면을 띄웁니다.
그리고 Open launch configuration 을 선택합니다.
Arguments 설정 부분에
-XX:MaxPermSize=4048m -Xms516m -Xmx6048m
을 추가 하였습니다.
메모리 수치는 본인의 컴퓨터에 맞게 입력하시면 됩니다.
(Java Heap space와 Permenant Generation 대상 데이터를 두기 위한 PermGen space 설정)
그리고 첫번째 방법으로 했던 eclipse.ini 파일 수정법입니다.
파일 아래 부분에
-Xms4096m
-Xmx6096m
-XX:MaxPermSize=6048m
를 추가 하였습니다.
그리고 두번째는 톰캣의 catalina.bat 수정 입니다.
setlocal을 삭제한뒤
set "CATALINA_OPTS=-Xms512M -Xmx6048M -XX:PermSize=256M -XX:MaxPermSize=6048M"
를 입력하였습니다.
앞서 말씀드렸듯이 저는 3번째 방법으로 문제를 해결하였습니다.
그럼 즐거운 하루 보내세요.
'개발 > was' 카테고리의 다른 글
이클립스 톰캣 추가 안될떄 (0) | 2018.07.13 |
---|---|
이클립스 톰캣 Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. (0) | 2018.07.03 |
(리눅스, 윈도우)톰캣 server.xml 설정_ 소스올리기 (0) | 2018.06.19 |
리눅스 환경에서 톰캣 하나 더 띄우기(멀티톰캣, 톱캣2개) (2) | 2017.11.28 |
톰켓 에러페이지 설정(정보 및 버전 감추기) (4) | 2017.10.21 |
톰켓 메모리 증진 방법(java.lang.OutOfMemoryError: PermGen space) (0) | 2017.10.20 |
Pool 에러(Cannot get a connection, pool error Timeout waiting for idle object) (0) | 2017.10.16 |