기존에도 종종 이클립스는 메모리오류가 발생하였기 때문에 아무생각없이 eclipse.ini파일을 수정하여 주었지만 좀처럼 해결되지 않고 계속 프로젝트를 받아오다가 번번히 죽어버렸습니다. 로그파일을 확인하니(.log파일은 workplace안에 .metadata폴더 안에 있습니다.) 아래와 같은 오류가 발생하였습니다.
java.lang.OutOfMemoryError: PermGen space
기존의 eclipse.ini파일의 수정으로는 도저히 해결이 되지 않아서 Helios가 안정적이지 않은 것으로 막연히 생각하고 있었는데 트위터를 통해서 해당 문제에 대한 해결책을 얻을 수 있었습니다.
이 문제는 JDK 6u21에서 발생하는 문제인데 6u21에서 vendor명이 기존의 Sun에서 Oracle로 변경이 되었습니다. Eclipse 런처가 JVM의 벤더를 읽어서 Sun JVM일 경우에는 추가적으로 이클립스의 동작을 위해 필요한 XX:MaxPermSize 설정을 추가하는데 6u21에서는 Sun이 아닌 Oracle로 변경이 되어 이 설정이 먹히지 않는 것입니다. 이 내용은 이클립스의 버그로 등록은 되었지만 9월에 예정된 Helios SR1에서 수정될 예정은 없어보인다고 합니다.
이클립스의 폴더안에 있는 eclipse.ini파일을 열어서 아래의 부분을 삭제합니다.
--launcher.XXMaxPermSize
256m
그 다음에 -Xmx설정뒤에 -XX:MaxPermSize=512m 를 추가하면 위의 OutOfMemoryError를 피할 수 있습니다.
아래 내용은 참고용으로 올리는 저의 eclipse.ini파일입니다.
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
128M
-showsplash
org.eclipse.platform
-vm
C:\Program Files\Java\jdk1.6.0_21\bin\
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
이 문제는 Windows플랫폼에서만 발생한다고 합니다.
추가로 봄싹의 김성호님이 공유해 주신 이클립스 위키에 위 문제의 해결법에 대해서 잘 나와있습니다.
- 6u20으로 다운그래이드
- eclipse.ini에 -XX:MaxPermSize=256m 추가
- 수정된된 이클립스용 dll을 다운받아 사용
최신을
흐음 그렇군요!
예 그렇데요.
감사합니다.^^
덕분에 문제를 해결했습니다.
오늘 하루종일 뭐가 문제일까 생각하며 O/S도 다시 설치하고
jdk 10번은 넘게 폴더 옮겨보며 깔았던것 같습니다.
정말 감사합니다~
뭐 인터넷에서 주은건데요 ㅎㅎㅎㅎㅎ
저도 이것때문에 헬리오스 버릴뻔했는데.... OS까지 다시 설치하셨다니 정말 고생하셨군요. ㅠㅠ
감사합니다! 오랜만에 최신 버전들로 환경설정하고 돌리다가 자꾸 에러가 나서 애먹었는데 덕분에 잘 해결했습니다.^^ 정보 공유의 중요성을 새삼 실감하게 되네요.
저도 고생했던 문제였는데 해결하셨다니 다행이네요. ^^
정보 공유는 항상 중요하죠 ㅎ
즐거운 코딩 되시길 ㅎㅎㅎㅎ
자료 감사합니다. 퍼갈께용^^
감사합니다. CCL만 따라주세요 ^^
그런데, 저는 위와 같이 수정 후 이클립스를 띄우려고 하면
"Failed to create the Java Virtual Machine"
이런 메시지가 뜨면서 이클립스가 열리지 않는데 왜 그럴까요?
그 문제는 제가 겪어보지 않아서 정확하지는 않지만 JVM을 못 찾는것 같은데요. http://chanyook.egloos.com/2639920 이 링크를 참고해 보시면 될것 같은데요.
아, 알려주신대로 JDK 해당 경로 넣어주니까 열리네요. 감사합니다. ^^
다행히 해결되셨군요... ^^
6u20으로 다운 그레이드는 힘들듯 합니다.
이클립스 위키에 올려진 링크에는 6u20파일이 없더군요.
제 노트북이 64비트라서 더 구하기 힘들었던것 같습니다. 물론 구글에서요..
좋은 정보 감사합니다.
안그래도 헬리오스 버리고 갈릴레오 갔다가 64비트가 없어서 난감해하고 있었네요
6u20은 아래 링크에서 다운로드 받으시면 될것 같습니다.
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u20-oth-JPR@CDS-CDS_Developer