문제

Eclipse 실행을 위해 찾은 최고의 JVM 설정은 무엇입니까?

도움이 되었습니까?

해결책

올해도 그 때입니다."eclipse.ini take 3" 설정이 반격합니다!

Eclipse Helios 3.6 및 3.6.x 설정

대체 텍스트 http://www.eclipse.org/home/promotions/friends-helios/helios.png

설정 후 이클립스 가니메데 3.4.x 그리고 이클립스 갈릴레오 3.5.x, 여기에서 "최적화"에 대해 자세히 살펴보겠습니다. eclipse.ini Eclipse Helios 3.6.x용 설정 파일:

("최적화"란 직장의 형편없는 워크스테이션, 2Go RAM 및 XPSp3을 갖춘 2002년의 오래된 P4에서 완전한 기능을 갖춘 Eclipse를 실행할 수 있음을 의미합니다.하지만 Windows7에서도 동일한 설정을 테스트했습니다.)

Eclipse.ini

alt text

경고:Windows가 아닌 플랫폼의 경우 Sun 독점 옵션을 사용하십시오. -XX:MaxPermSize Eclipse 독점 옵션 대신 --launcher.XXMaxPermSize.
그건: 하지 않는 한 당신은 최신 것을 사용하고 있습니다 jdk6u21 빌드 7.아래 Oracle 섹션을 참조하세요.

-data
../../workspace
-showlocation
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
-vm
C:/Prog/Java/jdk1.6.0_21/jre/bin/server/jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Declipse.p2.unsignedPolicy=allow
-Xms128m
-Xmx384m
-Xss4m
-XX:PermSize=128m
-XX:MaxPermSize=384m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+CMSIncrementalPacing
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseFastAccessorMethods
-Dcom.sun.management.jmxremote
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/Prog/Java/eclipse_addons

메모:
적응하다 p2.reconciler.dropins.directory 선택한 외부 디렉터리로 이동합니다.
이것 좀 봐 그래서 대답.아이디어는 Eclipse 설치와 별도로 디렉토리에 새 플러그인을 삭제할 수 있다는 것입니다.

다음 섹션에서는 이 내용을 자세히 설명합니다. eclipse.ini 파일.


두려운 Oracle JVM 1.6u21(빌드 7 이전) 및 Eclipse 충돌

앤드류 니퍼 나에게 이 상황을 알리고 글을 썼다. 블로그 게시물, 비표준 vm 인수에 대해(-XX:MaxPermSize) 다른 공급업체의 VM이 전혀 시작되지 않을 수 있습니다.
그러나 해당 옵션의 Eclipse 버전(--launcher.XXMaxPermSize)은 새로운 JDK(6u21, 6u21 빌드 7을 사용하지 않는 한 아래 참조)에서 작동하지 않습니다.

그만큼 결정적인 솔루션은 에 있습니다 이클립스 위키, 그리고 6u21 사전 빌드 7이 설치된 Windows의 Helios용 오직:

  • 고정 다운로드 중 eclipse_1308.dll (2010년 7월 16일)
  • 그리고 그것을 넣어
(eclipse_home)/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503

그게 다야.여기서 조정할 설정이 없습니다(다시 말하지만 Helios에만 해당). 윈도우즈에서6u21 사전 빌드 7).
Windows가 아닌 플랫폼의 경우 Sun 독점 옵션으로 되돌려야 합니다. -XX:MaxPermSize.

문제는 회귀를 기반으로 합니다. java.exe의 Oracle 브랜드 변경으로 인해 JVM 식별이 실패합니다., 그리고 트리거됨 버그 319514 이클립스에서.
앤드류가 돌봐줬어 버그 320005 - [런처] --launcher.XXMaxPermSize: isSunVM Oracle의 경우 true를 반환해야 합니다., 그러나 이는 Helios 3.6.1에만 해당됩니다.
프랜시스 업튼, 또 다른 Eclipse 커미터, 모든 상황을 반영한다.

7월 27일 u21b7 업데이트:
Oracle은 다음 Java 6 릴리스에 대한 변경 사항을 회귀했으며 JDK 7까지 다시 구현하지 않을 것입니다..
당신이 사용하는 경우 jdk6u21 빌드 7, 다음으로 되돌릴 수 있습니다. --launcher.XXMaxPermSize (이클립스 옵션) 대신 -XX:MaxPermSize (비표준 옵션).
그만큼 C 런처 심에서 자동 감지가 발생합니다. eclipse.exe 계속해서 "를 찾을 것입니다.Sun Microsystems" 문자열이지만 6u21b7을 사용하면 이제 다시 작동합니다.

지금까지도 나는 그 말을 계속 간직하고 있다. -XX:MaxPermSize 버전(모두가 언제 Eclipse를 시작할지 모르기 때문에 오른쪽 JDK).


암시적 `-startup` 및 `--launcher.library`

이전 설정과 달리 해당 모듈의 정확한 경로는 더 이상 설정되지 않습니다. 이는 Eclipse 3.6.x 릴리스마다 다를 수 있으므로 편리합니다.

  • 시작:지정하지 않으면 실행 파일은 플러그인 디렉터리에서 org.eclipse.equinox.launcher 가장 높은 버전의 번들입니다.
  • 런처.라이브러리:지정하지 않으면 실행 파일은 plugins 적절한 디렉토리 org.eclipse.equinox.launcher.[platform] 가장 높은 버전의 조각을 사용하고 다음과 같은 공유 라이브러리를 사용합니다. eclipse_* 내부에.

JDK6 사용

이제 Eclipse를 실행하려면 JDK6이 명시적으로 필요합니다.

-Dosgi.requiredJavaVersion = 1.6

이것 그래서 질문 Mac OS 개발에 대한 긍정적인 사례를 보고합니다.


+ExperimentalVM옵션 잠금 해제

다음 옵션은 Sun JVM의 실험적 옵션 중 일부입니다.

-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseFastAccessorMethods

그들은 이것에 보고되었습니다 블로그 게시물 잠재적으로 Eclipse 속도를 높일 수 있습니다.
모두 보기 JVM 옵션은 여기 그리고 공식에서도 Java 핫스팟 옵션 페이지.
메모:그만큼 해당 옵션의 자세한 목록 보고 UseFastAccessorMethods 기본적으로 활성화되어 있을 수 있습니다.

또한보십시오 "JVM 업데이트":

참고로 G1은 JDK 7을 준비하는 새로운 가비지 수집기이지만 u17의 버전 6 릴리스에서는 이미 사용되었습니다.


명령줄에서 Eclipse의 파일 열기

참조 블로그 게시물 Andrew Niefer가 이 새로운 옵션을 보고했습니다.

--launcher.defaultAction
openFile

이는 런처에 "로 시작하지 않는 인수만 포함된 명령줄을 사용하여 호출할 경우 이를 알려줍니다.-"이면 해당 인수는 "를 따르는 것처럼 처리되어야 합니다.--launcher.openFile".

eclipse myFile.txt

이것은 Eclipse와 연관된 파일을 두 번 클릭하거나 파일을 선택하고 "Open With" 또는 "Send To" 이클립스.

상대 경로 먼저 현재 작업 디렉토리에 대해 해석되고 두 번째는 Eclipse 프로그램 디렉토리에 대해 해석됩니다.

보다 버그 301033 참고용.원래 버그 4922 (2001년 10월, 9년 후 수정).


p2 및 서명되지 않은 대화 상자 프롬프트

많은 플러그인을 설치하는 동안 이 대화 상자가 지겹다면:

alt text

, 귀하의 eclipse.ini:

-Declipse.p2.unsignedPolicy=allow

이것 좀 봐 블로그 게시물 ~에서 크리스 애니슈치, 그리고 버그 보고서 235526.

저는 보안 연구가 적은 프롬프트가 더 좋다는 사실을 뒷받침한다고 말하고 싶습니다.
사람들은 자신이 하고 싶은 일의 흐름 속에서 갑자기 떠오르는 일들은 무시한다.

3.6의 경우 흐름 중간에 경고가 표시되어서는 안 됩니다. 아무리 단순화해도 사람들은 이를 무시할 것입니다.
대신, 우리는 모든 문제를 수집해야 합니다. ~ 아니다 문제가 있는 번들을 설치하고 대신 사용자가 문제를 해결할 수 있는 워크플로우 지점으로 다시 이동합니다(신뢰 추가, 보안 정책을 더 느슨하게 구성 등).이것은 ... 불리운다 '안전한 무대'.

---------- http://www.eclipse.org/home/categories/images/wiki.gif 대체 텍스트 http://www.eclipse.org/home/categories/images/wiki.gif 대체 텍스트 http://www.eclipse.org/home/categories/images/wiki.gif

추가 옵션

이러한 옵션은 eclipse.ini 위에 나와 있지만 필요한 경우 유용할 수 있습니다.


Windows7의 'user.home' 문제

Eclipse가 시작되면 키 저장소 파일(비밀번호가 보관된 위치)을 읽습니다. user.home.
만약 어떤 이유로든 user.home 전체 경로로 제대로 확인되지 않으면 Eclipse가 시작되지 않습니다.
처음에는 이 SO 질문, 이 문제가 발생하면 키 저장소 파일을 명시적인 경로로 다시 정의해야 합니다(시작 시 더 이상 확인할 user.home이 없음).

당신의 eclipse.ini:

-eclipse.keyring 
C:\eclipse\keyring.txt

이것은 다음에 의해 추적되었습니다. 버그 300577, 이 문제가 해결되었습니다. 다른 SO 질문.


디버그 모드

잠깐, Eclipse에는 둘 이상의 설정 파일이 있습니다.
당신이 당신의 eclipse.ini 옵션:

-debug

, 당신은 활성화 디버그 모드 그리고 Eclipse는 다음을 찾을 것입니다. 또 다른 설정 파일:ㅏ .options 일부 OSGI 옵션을 지정할 수 있는 파일입니다.
dropins 폴더를 통해 새 플러그인을 추가할 때 유용합니다.
이 설명에 따라 .options 파일에 다음 설정을 추가하세요. 블로그 게시물 "드롭인스 진단":

org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true

P2는 어떤 번들이 발견되었는지 알려줄 것입니다. dropins/ 폴더, 어떤 요청이 생성되었는지, 설치 계획은 무엇인지 알아보세요.실제로 발생한 일과 무엇이 잘못되었는지에 대한 자세한 설명은 아닐 수도 있지만, 어디서부터 시작해야 할지에 대한 강력한 정보를 제공해야 합니다.

  • 네 번들은 계획에 포함됐어?
  • 설치 문제였나요(P2 오류)?
  • 아니면 귀하의 기능을 포함하는 것이 최적이 아닐 수도 있습니까?

그것은에서 비롯된 것입니다 버그 264924 - [조정자] 드롭인 문제 진단 없음, 이는 최종적으로 다음과 같은 문제를 해결합니다.

Unzip eclipse-SDK-3.5M5-win32.zip to ..../eclipse
Unzip mdt-ocl-SDK-1.3.0M5.zip to ..../eclipse/dropins/mdt-ocl-SDK-1.3.0M5

OCL은 누락된 EMF에 의존하므로 이는 문제가 있는 구성입니다.
3.5M5는 이 문제에 대한 진단을 제공하지 않습니다.

일식을 시작합니다.
명백한 문제는 없습니다.오류 로그에 아무것도 없습니다.

  • Help / About / Plugin 세부 정보 표시 org.eclipse.ocl.doc, 하지만 org.eclipse.ocl.
  • Help / About / Configuration 세부 사항에는 (진단) 언급이 없습니다 org.eclipse.ocl.
  • Help / Installation / Information Installed Software 언급이 없다 org.eclipse.ocl.

좋은 오류 마커는 어디에 있습니까?


매니페스트 클래스 경로

이것 좀 봐 블로그 게시물:

  • Galileo(Eclipse 3.5라고도 함)에서 JDT는 프로젝트 빌드 경로에 추가된 라이브러리의 매니페스트 클래스 경로를 확인하기 시작했습니다.이는 라이브러리가 프로젝트의 빌드 경로에 직접 추가되었거나 JDT에서 제공하거나 타사에서 구현한 사용자 라이브러리 기능과 같은 클래스 경로 컨테이너를 통해 추가되었는지 여부에 관계없이 작동했습니다.
  • Helios에서는 매니페스트 클래스 경로 확인에서 클래스 경로 컨테이너를 제외하도록 이 동작이 변경되었습니다.

이는 일부 프로젝트가 더 이상 Helios에서 컴파일되지 않을 수 있음을 의미합니다.
Galileo 동작으로 되돌리려면 다음을 추가하세요.

-DresolveReferencedLibrariesForContainers=true

보다 버그 305037, 버그 313965 그리고 버그 313890 참고용.


IPV4 스택

이것 그래서 질문 플러그인 업데이트 사이트에 액세스하지 못할 때 발생할 수 있는 수정 사항에 대해 언급합니다.

-Djava.net.preferIPv4Stack=true

구성에 도움이 될 수 있는 경우를 대비해 여기에 언급했습니다.


JVM1.7x64 잠재적 최적화

이 기사 보고서:

기록에 따르면, 1.7 x64 JVM n Windows를 사용한 벤치 테스트에서 지금까지 찾은 가장 빠른 옵션은 다음과 같습니다.

-Xincgc 
-XX:-DontCompileHugeMethods 
-XX:MaxInlineSize=1024  
-XX:FreqInlineSize=1024 

하지만 아직 작업 중이에요...

다른 팁

Eclipse Galileo 3.5 및 3.5.1 설정

현재(2009년 11월) jdk6 업데이트 17을 사용하여 다음 구성 옵션 세트를 테스트하고 있습니다(Galileo -- eclipse 3.5.x 사용, 참조). 3.4의 경우 아래 또는 위에 대한 헬리오스 3.6.x):
(물론, 이 eclipse.ini에 있는 상대 경로를 설정에 맞는 올바른 경로로 조정하세요)

메모:~을 위한 Eclipse3.5, 바꾸다 startup 그리고 launcher.library 라인 기준:

-startup
plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519

eclipse.ini 3.5.1

-data
../../workspace
-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
384m
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-vm
../../../../program files/Java/jdk1.6.0_17/jre/bin/client/jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss4m
-XX:PermSize=128m
-XX:MaxPermSize=384m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-Dcom.sun.management.jmxremote
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/jv/eclipse/mydropins

내 것도 참조하세요 위의 원래 답변 자세한 내용은.

변경사항(2009년 7월부터)

  • 프레임워크가 아닌 런처를 나타냅니다.
  • 공유 플러그인: org.eclipse.equinox.p2.reconciler.dropins.directory 옵션.
  • Galileo는 작업 공간 또는 VM에 대한 완전한 상대 경로를 지원합니다(물론 JVM과 작업 공간이 동일하게 유지되는 경우 하나의 Eclipse 설치에서 다른 설치로 경로를 수정할 필요가 없음).
    이전에는 Eclipse가 시작될 때 상대 경로가 절대 경로로 계속 다시 작성되었습니다.
  • Eclipse 디렉토리 내에 Java JDK 설치의 JRE 디렉토리를 복사할 수도 있습니다.

주의사항

버그가 있었습니다 무시된 중단점 실제로 JDK와 관련이 있습니다.
JDK6u16 이상을 사용하십시오. 진수 eclipse(그런 다음 컴파일하려는 JDK를 원하는 만큼 정의할 수 있습니다. 이내에 식:JDK6으로 Eclipse를 실행했기 때문에 동일한 JDK로 컴파일해야 하는 것은 아닙니다.

맥스

다음의 사용법을 참고하세요:

--launcher.XXMaxPermSize
384m
-vmargs
-XX:MaxPermSize=128m

에 문서화된 바와 같이 이클립스 위키,

Eclipse 3.3은 실행 프로그램에 대한 새로운 인수를 지원합니다. --launcher.XXMaxPermSize.
사용 중인 VM이 Sun VM이고 아직 Sun VM이 없는 경우 -XX:MaxPermSize= VM 인수를 선택하면 런처가 자동으로 추가합니다. -XX:MaxPermSize=256m 사용 중인 VM 인수 목록에 추가합니다.
3.3 실행 프로그램은 Windows에서 Sun VM만 식별할 수 있습니다.

자세히 설명된 대로 이 항목:

모든 VM이 허용하는 것은 아닙니다. -XX:MaxPermSize 인수가 이런 방식으로 전달되는 이유입니다.Sun VM을 식별하는 데 문제가 있을 수도 있고 없을 수도 있습니다.
메모:Eclipse 3.3.1에는 버그 실행 프로그램이 Sun VM을 감지할 수 없으므로 올바른 PermGen 크기를 사용하지 않습니다.이거였을 수도 있을 것 같은데 Mac OS X 3.3.0의 알려진 버그 또한.
이러한 플랫폼 조합 중 하나를 사용하는 경우 -XX 깃발을 eclipse.ini 위에서 설명한대로.

노트:

  • "384m" 줄은 "로 번역됩니다.=384m" VM 인수의 일부(VM이 대소문자를 구분하는 경우")m" 그렇다면 이 주장도 마찬가지다.
  • "--launcher." 접두사를 사용하면 인수가 실행기 자체에서 사용되며 애플리케이션 인수와의 이름 충돌을 피하기 위해 실행기별 인수에 추가되었음을 지정합니다.(다른 예는 다음과 같습니다. --launcher.library, --launcher.suppressErrors)

그만큼 -vmargs -XX:MaxPermSize=384m 부분은 VM에 직접 전달되는 인수로, 실행 프로그램을 완전히 우회하고 VM 공급업체에 대한 확인이 사용되지 않습니다.

일식 가니메데 3.4.2 설정


보다 최근의 설정은 참조하십시오 Eclipse Galileo 3.5 위의 설정.


JDK

최고의 JVM 설정 언제나, 내 생각에, 최신 JDK를 찾을 수 있습니다 (지금은 JDK1.6.0_B07 최대 B16, B14 및 B15를 제외하고)

eclipse.ini

메모리 설정이 매우 낮더라도 2GO RAM이있는 오래된 (2002) 데스크탑에서 대형 Java 프로젝트 (웹 서버와 함께)를 실행할 수 있습니다.

-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-framework
plugins\org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
-vm
jdk1.6.0_10\jre\bin\client\jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss2m
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:CompileThreshold=5
-Dcom.sun.management.jmxremote

보다 Gkelly의 대답 그리고 Piotr Gabryanczyk의 블로그 항목 새로운 옵션에 대한 자세한 내용은

모니터링

발사를 고려할 수도 있습니다.

C:\[jdk1.6.0_0x path]\bin\jconsole.exe

a 메모리 소비에 대한 이전 질문.

Eclipse Indigo 3.7.2 설정 (64 비트 Linux)

설정 설정 태양/오라클 자바 버전 "1.6.0_31"및 일식 3.7 X86-64 Linux에서 실행 :

-nosplash
-vmargs
-Xincgc
-Xss500k
-Dosgi.requiredJavaVersion=1.6
-Xms64m
-Xmx200m
-XX:NewSize=8m
-XX:PermSize=80m
-XX:MaxPermSize=150m
-XX:MaxPermHeapExpansion=10m
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=70
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseParNewGC
-XX:+CMSConcurrentMTEnabled
-XX:ConcGCThreads=2
-XX:ParallelGCThreads=2
-XX:+CMSIncrementalPacing
-XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=5
-XX:GCTimeRatio=49
-XX:MaxGCPauseMillis=20
-XX:GCPauseIntervalMillis=1000
-XX:+UseCMSCompactAtFullCollection
-XX:+CMSClassUnloadingEnabled
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+AggressiveOpts
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses

이것은 힙의 경우 200MB 만, 비가 비가 비 적용되는 경우 150MB 만 사용합니다. 거대한 플러그인을 사용하는 경우 "-xmx200m"및 "-xx : maxpermsize = 150m"한계를 모두 늘릴 수 있습니다.

이 플래그의 기본 최적화 목표는 다음과 같습니다. 모든 경우에 대기 시간을 최소화하십시오 2 차 최적화 목표로서 메모리 사용량을 최소화합니다.

-showlocation

이클립스를 두 번 실행하는 것이 더 쉬워지고 어떤 작업 공간을 다루는 지 알기 위해

Eclipse 3.6 선호도 옵션을 추가하여 표시 할 내용을 지정합니다. Workspace name (shown in window title) 그것은보다 훨씬 더 잘 작동합니다 -showlocation 세 가지 이유로 :

  1. 이클립스를 다시 시작할 필요는 없습니다.
  2. 짧은 코드를 선택할 수 있습니다.
  3. 관점과 응용 프로그램 이름 앞에 먼저 나타납니다.

JDK6 업데이트 14를 사용하고 있다면 성능에 도움이되는 G1 쓰레기 수집기를 사용하는 것이 좋습니다.

그렇게하려면이 설정을 제거하십시오.

-XX :+USECONCMARKSWEEPGC
-xx :+cmsincrementalMode
-xx :+cmsincrementalPacing

그리고 이것들로 대체하십시오.

-xx :+unlockexperimentalvmoptions
-xx :+USEG1GC

Linux + Sun JDK/JRE를 사용하는 경우 32bits, "-vm"을 다음으로 변경하십시오.

-vm 
[your_jdk_folder]/jre/lib/i386/client/libjvm.so

Linux + Sun JDK/JRE를 사용하는 경우 64 비트, "-vm"을 다음으로 변경하십시오.

-vm
[your_jdk_folder]/jre/lib/amd64/server/libjvm.so

우분투 8.10과 9.04에서 나에게 잘 작동합니다.

다음과 같이 실행해 볼 수도 있습니다. JRockit.서버에 최적화된 JVM이지만 IDE와 같이 장기 실행되는 많은 클라이언트 애플리케이션이 JRockit에서 매우 잘 실행됩니다.이클립스도 예외는 아닙니다.JRockit에는 perm-space가 없으므로 구성할 필요가 없습니다.

UI가 지연되는 긴 gc 일시 중지를 방지하기 위해 일시 ​​중지 시간 목표(ms)를 설정할 수 있습니다.

-showsplash
org.eclipse.platform
-vm
 C:\jrmc-3.1.2-1.6.0\bin\javaw.exe 
-vmargs
-XgcPrio:deterministic
-XpauseTarget:20

나는 일반적으로 -Xmx 및 -Xms를 설정하는 데 신경 쓰지 않고 JRockit이 필요하다고 생각하는 대로 힙을 늘리도록 합니다.JRockit을 사용하여 Eclipse 애플리케이션을 실행하는 경우 JRockit Mission Control 도구 모음을 사용하여 애플리케이션에서 메모리 누수를 모니터링, 프로파일링 및 찾을 수도 있습니다.여기에서 플러그인을 다운로드하세요. 업데이트 사이트.참고로 Eclipse 3.3 및 Eclipse 3.4에서만 작동합니다.

다음은 i7 2630m 16GB RAM 노트북에서 실행되는 일식에 대한 내 자신의 설정입니다.이 설정은 단일 충돌없이 일주일 동안 사용되었으며 Eclipse 3.7은 원활하게 실행됩니다.

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms1024m
-Xmx4096m 
-XX:MaxPermSize=256m

계산 : 승리 7 x64

  • XMS = 물리적 메모리 / 16
  • xmx = 물리적 메모리 / 4
  • maxpermsize = 기본값과 동일하며 256m
-startup
../../../plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.1.100.v20110502
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xms128m
-Xmx512m
-XX:MaxPermSize=256m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Dcom.sun.management.jmxremote
-Declipse.p2.unsignedPolicy=allow

그리고이 설정은 저에게 매력처럼 작동했습니다. 나는 OS X10.6, Eclipse 3.7 Indigo, JDK1.6.0_24를 실행하고 있습니다.

내 자신의 설정 (Java 1.7, 1.6으로 수정) :

-vm
C:/Program Files (x86)/Java/jdk1.7.0/bin
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20100628
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-server
-Dosgi.requiredJavaVersion=1.7
-Xmn100m
-Xss1m
-XgcPrio:deterministic
-XpauseTarget:20
-XX:PermSize=400M
-XX:MaxPermSize=500M
-XX:CompileThreshold=10
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UnlockExperimentalVMOptions
-XX:+DoEscapeAnalysis
-XX:+UseG1GC
-XX:+UseFastAccessorMethods
-XX:+AggressiveOpts
-Xms512m
-Xmx512m

Eclipse는 많은 램을 좋아합니다. 최소 -xmx512m을 사용하십시오. 사용 가능한 경우 더.

당신이 나와 같고 현재 Oracle 릴리스 1.6에 문제가 있다면 JDK 또는 세트를 업데이트하고 싶을 수도 있습니다.

-XX:MaxPermSize
. 자세한 내용은 다음을 참조하십시오. http://java.dzone.com/articles/latest-java-update-fixes

xx :+useparallelgc 그것은 가장 멋진 옵션입니다 !!!

-VM
C : Program Files java jdk1.6.0_07 jre bin client jvm.dll

사용중인 Java 버전을 지정하고 Javaw 프로세스를 시작하는 대신 DLL을 사용하려면

다음은 내가 사용하는 것입니다 (설정 파일 대신 바로 가기에 있지만) :

eclipse.exe -showlocation -vm "c : java jdk1.6.0_07 bin javaw.exe"-vmargs -xms256m -xmx768m -xx :+useparallelgc -xx : maxpermsize = 128m

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top