Jak mogę zapewnić eclipse więcej pamięci niż 512 MB?

97

Mam następującą konfigurację, ale kiedy wstawię 1024 i zamieniam wszystkie 512 na 1024, zaćmienie w ogóle się nie rozpocznie. Jak mogę mieć więcej niż 512 MB pamięci dla mojej maszyny JVM eclipse?

-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
-product
com.springsource.sts.ide
--launcher.XXMaxPermSize
512M
-vm
C:\Program Files (x86)\Java\jdk1.6.0_18\bin\javaw 
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms512m
-Xmx512m
-XX:MaxPermSize=512m
Nowicjusz
źródło

Odpowiedzi:

116

Miałem wiele problemów, próbując zmusić Eclipse do zaakceptowania takiej ilości pamięci, jaką chciałbym, aby było w stanie wykorzystać (na przykład od 2 do 4 koncertów).

Otwórz eclipse.iniw katalogu instalacyjnym Eclipse. Powinieneś być w stanie zmienić rozmiary pamięci później-vmargs do 1024 bez problemudo pewnej maksymalnej wartości zależnej od systemu. Oto ta sekcja na moim Linuksie:

-vmargs
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=512m
-Xms512m
-Xmx1024m

A oto ta sekcja w moim oknie Windows:

-vmargs
-Xms256m
-Xmx1024m

Ale nie udało mi się ustawić go powyżej 1024 megabajtów . Jeśli ktoś wie, jak to działa, chciałbym wiedzieć.

EDYCJA : 32-bitowa wersja juno wydaje się nie akceptować więcej niż Xmx1024m, podczas gdy wersja 64-bitowa akceptuje 2048.

EDYCJA : post Nicka zawiera świetne linki, które wyjaśniają dwie różne rzeczy:

  • Problem jest w dużej mierze zależny od systemu i ilości dostępnej ciągłej wolnej pamięci, a
  • Używając javaw.exe (w systemie Windows), możesz uzyskać większy przydzielony blok pamięci.

Mam 8 gigabajtów pamięci RAM i nie mogę ustawić -Xmxwięcej niż 1024 MB pamięci RAM, nawet gdy załadowana jest minimalna ilość programów i oba systemy Windows / Linux zgłaszają od 4 do 5 gigabajtów wolnej pamięci RAM.

Kaleb Pederson
źródło
6
Gdzie umieszczasz te informacje?
CodyBugstein,
6
@Imray, musisz dodać (lub zamienić) te ustawienia w swoim eclipse.inipliku. Lokalizacja zależy od Twojej platformy. W systemie Windows znajduje się w tym samym folderze, co aplikacja Eclipse. W przypadku systemu OS X należy „Pokaż zawartość pakietu” w aplikacji Eclipse, a następnie edytować zawartość / MacOS / eclipse.ini w edytorze tekstu. Nie jesteś pewien co do Linuksa ... ćwiczenie pozostawione czytelnikowi? :-)
sherb 29.08.13
5
Warto znać znaczenie tych opcji: wszystkie opcje -X po -vmargs są przekazywane bezpośrednio do JVM, więc uruchom 'java -X', aby uzyskać dokumentację. -Xms ustawia początkową stertę, a -Xmx ustawia maksymalny rozmiar, do jakiego sterta może wzrosnąć. PermSize to obszar, w którym przechowywane są obiekty klas / metod, oddzielone od sterty.
jfritz42
Proszę zauważyć, że -XX: MaxPermSize = 512m nie musi być ustawione dla Java 8. Zobacz stackoverflow.com/questions/18339707/… .
Paul Jansen
1
Tutaj może znajdować się elcipse.ini w systemie Linux lub Ubuntu stackoverflow.com/a/14898134/457687
Vlad
37

Oto jak zwiększyłem alokację pamięci Eclipse Juno:

wprowadź opis obrazu tutaj

Mam w sumie 4 GB w moim systemie i kiedy pracuję nad eclipse, nie uruchamiam żadnego innego ciężkiego oprogramowania obok niego. Więc przydzieliłem 2 GB.

Zauważyłem, że różnica między wartościami min i max powinna wynosić 512. Następna wartość powinna być powiedzmy 2048 min + 512 = 2560max

Oto wartość sterty wewnątrz zaćmienia po ustawieniu -Xms2048m -Xmx2560m:

wprowadź opis obrazu tutaj

Ibn Saeed
źródło
Uwaga - nie zapomnij o małych literach m(tak jak ja). W przeciwnym razie działa świetnie!
Ben
Jaki jest ten motyw kolorowania zaćmienia?
wawanopoulos
3
Używam motywu Carboon Color, możesz go pobrać tutaj: link
Ibn Saeed
4

Możesz skopiować to do swojego eclipse.inipliku, aby mieć 1024 MB:

-clean -showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms512m
-Xmx1024m
-XX:PermSize=128m
-XX:MaxPermSize=256m 
GuruKulki
źródło
2

Myślę, że nie musisz zmieniać MaxPermSize na 1024 m. To działa dla mnie:

-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
-product
org.eclipse.epp.package.jee.product
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms256m
-Xmx1024m
-XX:PermSize=64m
-XX:MaxPermSize=128m
elduff
źródło
8
um ... czy moglibyśmy wszyscy dostać jakieś komentarze wraz z negatywnymi opiniami, proszę? Moja odpowiedź może nie być poprawna, ale pomogłaby mi wiedzieć, dlaczego.
elduff,
1

Podczas pracy nad projektem korporacyjnym w STS (w dużej mierze opartym na Eclipse) ciągle się zawieszałem, a STS utrzymywał się na poziomie około 1 GB pamięci RAM. Nie mogłem dodać nowych plików .war do mojego lokalnego serwera Tomcat i po usunięciu folderu tomcat, aby go ponownie dodać, stwierdziłem, że nie mogę go również ponownie dodać. Zasadniczo prawie wszystko, co wymagało nowego wyskakującego okienka poza głównymi menu, powodowało zawieszanie się STS.

Edytowałem STS.ini (twój Eclipse.ini można skonfigurować podobnie), aby:

--launcher.XXMaxPermSize 1024M -vmargs -Xms1536m -Xmx2048m -XX: MaxPermSize = 1024m

Natychmiast zrestartowałem STS i zobaczyłem, że osiągnął poziom około 1,5 koncertów, zanim ostatecznie się nie zawiesił

anon58192932
źródło
0

Konfiguracja zadziałała dla mnie: -vmargs -Xms1536m -Xmx2048m -XX: MaxPermSize = 1024m na Eclipse Java Photon czerwiec 2018

Z systemem Windows 10, 8 GB pamięci RAM i 64 bit. Możesz rozszerzyć -Xmx2048 -XX: MaxpermSize = 1024m do 4096m także, jeśli twój komputer ma dobrą pamięć RAM. Mój działał dobrze.

Skidrow
źródło