Eclipse의 메모리 사용량을 줄이는 방법은 무엇입니까?


81

Eclipse 3.4의 메모리 사용량은 문제가되는 지점까지 지붕을 통과합니다.

간단한 BlackBerry 프로젝트가로드되고 사용량이 거의 400MB로 급증하며 때로는 그 이상이됩니다. 그것을 무너 뜨리기 위해 할 수있는 일이 있습니까?


7
지금이 질문을 되돌아 보면 이클립스 메모리 사용량을 400MB까지 낮출 수 있다면 기뻐할 것이라고 말해야 할 것입니다. 지금은 1GB (실제로 내 프로젝트를 실행하기 위해 Tomcat 사본을 포함하면 300MB를 더 추가)로 낮추는 데 어려움을 겪고 있습니다.
Jules

5
나는 미래 (2018) 에서이 주석을 쓰고 있으며 Eclipse는 현재 프로젝트에서 10GB를 차지하고 있습니다.
Benjamin Barrois

2030 년에 막 돌아 왔고 Eclipse는 프로젝트를로드하기 전에 5TB를 차지합니다.
AngryHacker

답변:


84

Eclipse 3.4는 이전 버전보다 훨씬 많은 메모리를 소비 할 수 있습니다 ( 맞춤법 검사기 플러그인) .

창-> 환경 설정-> 일반-> 편집기-> 텍스트 편집기-> 맞춤법으로 이동하여 '맞춤법 검사 사용'상자 제목을 선택 취소하여 플러그인을 끌 수 있습니다.

물론 더 큰 힙 크기와 더 나은 가비지 수집기를 사용하기 위해 제공된 팁도 도움이 될 것입니다.


12
나를 위해 일하지 않았다. 여전히 900-930MB입니다. 나는 그것이 할 수 있다는 것을 의미합니다.
TheRealChx101 2014

5
좋은 대답입니다. 플러그인 1 개, 내가 들어 본 적도없고 사용하지도 않는 약 50 개의 플러그인. (자신에게 메모, IntelliJ 사용 시작)
8bitjunkie 2011

10
2016 년에도 여전히이 문제에 직면 해 있습니다. 내 램 공간의 1GB가 이클립스에 의해 점유된다는 것을 의미합니다. 맞춤법 검사기 플러그인을 끄는 것도 도움이되지 않습니다.
Lucky

12
2017 및 내 Eclipse는 이제 추가 플러그인없이 1.7GB RAM을 사용하고 있습니다. 이 광기의 끝이 있어야합니다.
Storm

17

체크 General -> Show heap status하면 활성화됩니다

Eclipse 힙 상태 표시 줄

하단 표시 줄에서. 이렇게하면 휴지통을 클릭하여 언제든지 가비지 수집기를 수동으로 실행할 수 있습니다. 해결 방법은 아니지만, RAM / CPU 사용량을 크게 줄이는 데 도움이되었습니다.


2
이것은 OS가 4GB가 사용 중임을 보여 주었지만 이클립스에 할당 된 4GB의 RAM이 실제로 사용되고 있지 않음을 식별하는 데 도움이되었습니다. 다른 응용 프로그램을 위해 RAM을 확보하기 위해 Eclipse에 할당 된 RAM의 양을 줄였습니다.
Navigatron

1
Sping Tool Suit가 이클립스에서 파생되었으므로 STS에서도 작동합니다
Talib Hussain

9

Eclipse Luna 4.4.1 에서 Eclipse에서 메모리 사용량을 줄이려고했습니다. 나는 600mb에서 300mb로 내 면도를 관리했습니다. 다음을 수행했습니다.

  • 사용하지 않는 시작시 활성화 된 플러그인을 끕니다. Windows> 기본 설정> 일반> 시작 및 종료

  • 그 당시 작업하지 않았던 닫힌 프로젝트.

여기에서 힌트 / 팁을 찾았습니다. http://blog.elijaa.org/2010/09/20/tricks-to-speed-up-eclipse-php-helios-pdt-2-2/


8

당신은 아마 동안 구성 어설프게 등 다양한 플러그인을 제거, 그것은 가능성이 더 많은 메모리를 구입하는 더 비용 효율적으로합니다. 현재 얼마나 가지고 있습니까? 나는 2GB 미만의 메모리를 가진 개발자 컴퓨터가 사양에 해당한다고 생각하고 많은 사람들이 그 두 배가 될 것이라고 생각합니다.


3
더 이상 동의 할 수 없습니다. 1GB RAM은 20 ~ 30 달러에 불과합니다. 시간의 가치는 얼마입니까? 이클립스에서 작동 할 플러그인 모음을 얻는 것은 불필요하게 (논란의 여지없이) 다루지 않고 충분히 힘들다.
cletus 09-09-29

2
최대 2GB (오래된 노트북)입니다. 문제는 일단 BlackBerry 시뮬레이터, Visual Studio (웹 서비스) 및 Chrome (웹에서 항목 검색)이로드되면 랩톱이 크롤링된다는 것입니다. 그러나 Eclipse는 단연코 가장 큰 공격자입니다. 3.3 또는 3.2 버전에서는 그렇게 나쁘지 않았습니다.
AngryHacker

2
완전히 동의하지 않습니다. 개발자 컴퓨터는 정확히 이러한 이유로 의도 된 최종 사용자의 컴퓨터보다 최소 50 % (CPU 및 RAM) 사양이 낮아야 합니다.
finnw

4
@finnw : 개발자 컴퓨터의 워크로드가 사용자 컴퓨터의 워크로드와 비슷하다고 생각하는 이유는 무엇입니까? 많은 응용 프로그램은 IDE만큼 리소스 방식과 같은 것을 필요로하지 않습니다. 저사양 시스템에서 애플리케이션을 확실히 테스트 해야 하지만 이것이 하나에서 개발 한다는 의미는 아닙니다 . 실제로 이미 클라이언트 측 앱을 가정하고있는 것 같습니다. 모바일 장치를 대상으로하는 웹 앱을 개발하는 경우 휴대폰에서도 개발해야합니까?
Jon Skeet

2
@Nate : 그것은 직접적인 질문 이었지만 Stack Overflow 에서는 질문 보다 문제 를 보는 것이 더 유용합니다 . 누군가가 SQL에서 값을 연결하고 일부 따옴표를 잊어 버린 경우 질문에 대한 직접적인 대답 은 따옴표를 추가하는 것이지만 문제 에 대한 해결책 은 매개 변수화 된 SQL입니다. OP가 400MB에 대해 걱정된다면 개발자 시스템의 일반적인 메모리 부족이 더 큰 문제인 것 같습니다.
Jon Skeet

7

최신 버전의 Eclipse는 작업을 수행하기 위해 상당한 RAM이 필요합니다. 그러나 모든 최신 컴퓨터에서 여전히 매우 빠르게 실행됩니다.

실제 메모리가 충분하다고 가정하면 (다른 프로세스가 많이 실행 중이거나 RAD를 사용하지 않는 한 2GB는 괜찮습니다) 설정 조정에 대한 몇 가지 팁은 Eclipse의 메모리 사용량에 대한 이 기사를 참조하십시오 . 가장 일반적인 두 가지 원인은 Xmx 및 / 또는 MaxPermSize가 너무 낮게 설정된 것입니다 (Xmx 기본값은 256M이고 MaxPermSize 기본값은 64M).

명령 행 인수를 전달하거나 Eclipse 설치 위치에서 eclipse.ini를 조정하여 값을 수정합니다.

다음과 같이 끝날 것입니다.

...
-vmargs
-Xms128m
-Xmx1024m 
-XX:MaxPermSize=128m

1
MaxPermSize가 더 이상 존재하지 않습니다
Ray Kim

6

내 Eclipse는 800MB가 넘는 상주 및 2GB 가상 공간을 차지하고 있습니다 (일부는 아마도 교체). Java 돼지 있습니다. Java 항상 나쁜 압박을 받고 있습니다.

그러나 많은 사람들이 모르는 점이 있습니다. 점진적 가비지 수집기입니다. -Xincgc 부작용은 때때로 메모리를 시스템에 다시 전달한다는 것입니다. 기본적으로 Java는 가져오고 가져가며 더 이상 메모리가 필요하지 않을 때 자체적으로 유지합니다. incgc는 메모리가 문제없이 시스템에 전달 될 수 있다고 가정하는 것이 더 합리적이되는 다른 전략입니다. 그러나 이것은 성능에 영향을 미칠 수 있습니다.

많은 가비지 콜렉션 설정이 있습니다. 여러 스레드가 GC를 처리하도록 할 수도 있습니다. 병렬 GC가 그렇게합니다. 그 사람이 기억을 되 찾는 지 확실하지 않습니다. 그렇게 생각하지 마십시오.


Eclipse의 가비지 수집기 옵션을 변경하는 방법은 무엇입니까?
Matthieu

3
여러가지가 바뀌었다. 이제 Java 8의 기본 GC는 시스템에 메모리를 넘겨주는 세대 별 가비지 수집기입니다. 더 이상 ... 그것으로 조롱하고 싶지
마이크

1
필자의 경우 Java 8은 실제 사용량이 0.5GB 미만일 때 3GB 이상을 유지하는 것이 기쁘기 때문에 안타깝게도 모의 작업이 필요합니다.
nsandersen

6

+UseG1GCeclipse.ini에서 옵션을 제거 하십시오. 나는 여기 에서 araound 6GB 힙 메모리에만 사용된다는 것을 읽었습니다 .


3
예, 이것은 나를 위해 일했습니다. 나는 대체 -XX:+useG1GC-XX:+UseSerialGC메모리 문제가 사라졌다. G1GC의 버그처럼 들립니다.
Don Smith

1
-XX:+UseSerialGC컷 아웃> 300MB로 전환 . 엄지 손가락
Aman

3

400Mb의 RAM이 큰 문제라면 다른 IDE를 사용해 볼 수 있습니다. Eclipse는 실제로 필요하지 않은 많은 상태 정보를 저장 합니다. 그것은 디자인 선택입니다.

지금은 Eclipse와 QtCreator에서 동일한 프로젝트가 열려 있습니다. 깨끗한 재 빌드 후 Eclipse는 156Mb RAM을 사용하고 Qt Creator는 66Mb에 만족합니다.


2

Windows 7에서 64 비트 버전의 JDK를 사용하여 64 비트 버전의 Eclipse를 사용해 볼 수 있습니다. 둘 다 제가 작업해야하는 타사 프레임 워크에서 이상한 문제를 일으켰습니다. Oracle의 32 비트 JRockit (현재 무료)는 더 빠르고 메모리에서 약간 더 나은 것 같습니다. 이것은 내 Eclipse.ini 설정입니다.

내 이클립스 여관

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222
-nosplash
org.eclipse.platform
--launcher.XXPermSize
512m
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vm
C:/Program Files (x86)/Java/jrockit-jdk1.6.0_31-R28.2.3-4.1.0/jre/bin
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xquickstart
-XX:+AggressiveHeap
-XX:+AggressiveOpts
-XX:+UseParallelOldGC
-XX:ParallelGCThreads=2
-XX:ThreadPriorityPolicy=1
-Xverify:none
-Xms1100m
-Xmx1100m

Eclipse에서는 좀 더 빠른 것처럼 보이는 32 비트 JRockit JDK로 전환했습니다. 전원을 끄고 필요 이상으로 설치하지 않습니다. 별도의 앱 개발 유형 (Android, J2EE, Spring 등)마다 다른 Eclipse 설치가 있습니다. 하드 드라이브 공간이 저렴합니다. 그런 다음 각각에 필요한 플러그인 만 가질 수 있습니다. 나는 그들을 사용하지 않았다면 모든 Android 도구가로드되는 것을 결코 원하지 않습니다. STS는 Spring 작업에만 유용하며 OpenShift Cloud 작업에만 사용할 수 있습니다.


처음에는 --launcher.XXMaxPermSize 512m 다음 --launcher.XXMaxPermSize 256m (그리고 몇 개의 중복 라인, 즉 defaultAction, 그리고 showsplash와 함께 nosplash)이 있기 때문에 약간 혼란 스럽습니다. 발견 된 첫 번째 구성을 사용합니까?
jambriz 2014 년

거기에 두 번째가 없어야합니다. 다시 확인했는데 현재 내 계정에는 없습니다. 또한 JDK 8 개의 다른 매개 변수를 사용하는 경우
Tim Spann 2014 년

1

Eclipse 플러그인을 비활성화하십시오. 이클립스는 saros 플러그인을 열었을 때 내 기억의 절반을 차지했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.