어제 열심히 코딩 테스트하는데. helios 이클립스가 문제가 있는지. 계속 PermGen에서 OOME가 계속 나서. 이상하다 싶더라구요. 이클립스 종료도 안되구... 얼마 하지도 않았는데. Memory leak도 나더라구요.
관련해서 이클립스가 머 문제있는게 아닐까 싶어서 이클립스 문서를 찾다가 아래 문제를 발견했습니다. 흘!!
Bug 319514 - [launcher] VM argument in eclipse.ini not take in account with java 1.6u21
https://bugs.eclipse.org/bugs/show_bug.cgi?id=319514
Synopsis | Regression: JRE identification fails due to Oracle rebranding in java.exe |
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6969236
jdk 1.6.0_update 21 버젼에서 윈도우쪽 문제가 있다고 보고되었습니다. 관련해서 Eclipse진영에서는 FAQ 문서를 통해서 3가지 중 하나를 하면 문제가 없다고 합니다.
1. jdk 1.6.0 update 20으로 다운그레이드하여 사용
2. eclipse 실행 디렉토리 밑에 eclipse.ini 파일에 -XX:MaxPermSize=256m 사용
3.32bit helios버젼에 dll 파일을 다운받아 패치
MaxPermSize를 조절하니 문제는 나타나지는 않더라구요.
업무에 참고하셔서 귀한 시간을 허비하지 않았으면 해서 공유드립니다~
-----------------------------------------------------------------------------
http://wiki.eclipse.org/FAQ_How_do_I_run_Eclipse%3F
Oracle/Sun VM 1.6.0_21 on Windows
The Eclipse 3.3 - 3.6 launchers for Windows have a problem with the Oracle/Sun Java VM version '1.6.0_21'.
UPDATE: The latest JDK/JRE downloads have fixed this problem, so the simplest way to resolve is to download and re-install from http://www.java.com (alternative link is http://java.sun.com/javase/downloads/index.jsp)
Before the fix was released, there were three choices to work around this:
- switch back to '1.6.0_20' (as of July 19, 2010 it can still be downloaded here)
- Change the commandline for launching or add the following line after "-vmargs" to your Eclipse.ini file:
-XX:MaxPermSize=256m
(Detailed instructions/examples) - For 32-bit Helios, download the fixed eclipse_1308.dll and place it into
(eclipse_home)/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
The bug itself was closed for voting and comments at 6969236 on the Java BugParade because the change causing the problems for Eclipse has been reverted, and is open for voting and comments at bug 319514 on the Eclipse Bugzilla.
---------------------------------------
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6969236
문제가 난 원인을 안 적어서 보내듭니다. java.exe와 javaw.exe 파일에 회사 이름을 sun에서 oracle로 바꾸었다고 합니다. eclipse에서는 그 정보를 보고 permsize를 조절하는 부분에 문제가 있었던 모양입니다. 그래서 update 21 - b07 버젼에 그 부분을 수정했다고 합니다.
update 21 문서에 위의 내용이 추가되지 않은 release 버젼이라서 community의 항의성 글들이 많네요~
참조 : http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6969236
A DESCRIPTION OF THE PROBLEM :
Regression: With Java 1.6.0_21, the ("\\StringFileInfo\\%04x%04x\\CompanyName") has changed in the java.exe and javaw.exe programs from "Sun Microsystems, Inc" to "Oracle".
This causes a severe regression for programs that need to identify the Sun/Oracle HostSpot VM such that they know whether the "-XX:MaxPermSize" argument needs to be used or not.
'java core' 카테고리의 다른 글
java -server (0) | 2010.08.19 |
---|---|
G1 알고리즘 공부 (0) | 2010.08.09 |
Random과 SecureRandom의 차이 (0) | 2010.08.05 |
Some Java Concurrency Tips (0) | 2010.06.11 |
Diagnosing Web Application OutOfMemoryErrors (0) | 2010.06.10 |