Pracuję na serwerze z systemem Windows 2003 (64-bitowym) z 8 GB pamięci RAM. Jak mogę zwiększyć maksimum pamięci sterty? Używam -Xmx1500m
flagi, aby zwiększyć rozmiar sterty do 1500 Mb. Czy mogę zwiększyć pamięć sterty do 75% pamięci fizycznej (sterty 6 GB)?
java
heap-memory
Sunil
źródło
źródło
-Xmx6g
? Czy to nie zadziałało? Co zaobserwowałeśOdpowiedzi:
Możesz zwiększyć do 4 GB w systemie 32-bitowym. Jeśli masz system 64-bitowy, możesz przejść wyżej. Nie musisz się martwić, jeśli wybierzesz niepoprawnie, jeśli poprosisz o 5g w 32-bitowym systemie Java, narzeka na niepoprawną wartość i kończy pracę.
Jak napisali inni, używaj flag cmd-line - np
Możesz uzyskać pełną listę (lub prawie pełną listę, i tak), wpisując java -X.
źródło
Możliwe jest zwiększenie wielkości sterty przydzielonej przez JVM za pomocą opcji wiersza poleceń. Mamy tutaj 3 opcje
W powyższym wierszu możemy ustawić minimalną stertę na 16 MB, a maksymalną stertę na 64 MB
źródło
W 32-bitowej maszynie JVM największy rozmiar sterty, jaki można teoretycznie ustawić, to 4 GB. Aby użyć większego rozmiaru sterty, musisz użyć 64-bitowej maszyny JVM. Spróbuj wykonać następujące czynności:
Flaga -d64 jest ważna, ponieważ informuje maszynę JVM, aby działała w trybie 64-bitowym.
źródło
Możliwe jest zwiększenie wielkości sterty przydzielonej przez JVM w eclipse bezpośrednio w eclipse Goto IDE
Uruchom ----> Uruchom konfiguracje ----> Argumenty
Wpisz -Xmx1g (służy do ustawienia maksymalnego rozmiaru, takiego jak Xmx256m lub Xmx1g ...... m -> mb g ---> gb)
źródło
java -d64 -Xms512m -Xmx4g HelloWorld
gdzie -d64: Włącza 64-bitową maszynę JVM -Xms512m: Ustawi początkową wielkość sterty jako 512 MB -Xmx4g: Ustawi maksymalną wielkość sterty jako 4 GB (tutaj nazwa pliku Java to: HelloWorld.java)
źródło
Możesz zwiększyć rozmiar sterty, przekazując parametry JVM -Xms i -Xmx, jak poniżej:
W przypadku plików jar:
W przypadku plików Java:
Powyższe parametry zwiększają wielkość InitialHeapSize (-Xms) do 4 GB (4096 MB), a MaxHeapSize (-Xmx) do 6 GB (6144 MB).
Ale rozmiar sterty młodej generacji pozostanie taki sam, a dodatkowy rozmiar sterty zostanie dodany do wielkości sterty starej generacji . Aby wyrównać wielkość sterty młodej generacji i sterty starej generacji , użyj parametrów -XX: NewRatio = 1 -XX: -UseAdaptiveSizePolicy .
-XX: NewRatio = Heap Old Gen Rozmiar: Young Gen HeapSize (Możesz grać z tym współczynnikiem, aby uzyskać pożądany współczynnik).
źródło
Tak, możesz. W rzeczywistości możesz zwiększyć ilość pamięci fizycznej więcej niż chcesz.
To, czy warto to zrobić, zależy od tego, ile jeszcze działa w twoim systemie. W szczególności, jeśli „działający zestaw” aplikacji i usług, które są obecnie uruchomione, znacznie przekracza dostępną pamięć fizyczną, twój system może „przeładować”, spędzając dużo czasu na przenoszeniu stron pamięci wirtualnej na dysk iz dysku. Efektem netto jest to, że system staje się strasznie wolny.
źródło
Użyj poniższej komendy, aby zmienić rozmiar sterty na 6 GB
źródło
Kilka osób wskazało konkretne odpowiedzi dotyczące wielkości sterty z opcjami jvm
-Xms
i-Xms
. Chcę podkreślić, że nie jest to jedyny typ opcji pamięci dla JVM. W szczególności, jeśli dostajesz stos ponad przepływy, będziesz chciał zwiększyć rozmiar stosu, dodając dodatkową opcję, np-Xss8m
.W przypadku tego problemu
-Xms2g -Xmx6g -Xss8m
rozwiązaniem byłyby opcje jvm czegoś podobnego .Udostępniam te informacje, ponieważ moje wyszukiwania w Google dotyczące sposobu zwiększenia pamięci jvm zaprowadziły mnie do tego rozwiązania, a rozwiązania nie działały przy dużej ilości alokacji pamięci. Gdy dowiedziałem się, do czego służą określone ustawienia, mogłem google, jak zwiększyć rozmiar stosu i znalazłem brakujący parametr. :) Mam nadzieję, że zaoszczędzi to innym czas, ponieważ zaoszczędziłoby mi to mnóstwo czasu. :)
źródło
Działa to tylko z 64-bitową wersją Java. Przejdź do Panelu sterowania i kliknij ikonę Java. W małym oknie Panelu sterowania Java kliknij pasek menu Java, a następnie kliknij
view
przycisk.Jeśli masz dwie platformy Java, wyłącz poprzednią wersję Java, a następnie kliknij pole tekstowe Parametry wykonawcze i napisz
-Xmx1024m
mniej niż rozmiar pamięci RAM. Nie zwiększaj wielkości sterty równej pamięci RAM, w przeciwnym razie nastąpi awaria systemu.źródło
Tak. Możesz.
Możesz zwiększyć pamięć sterty do 75% pamięci fizycznej (sterty 6 GB) lub więcej.
Ponieważ korzystasz z wersji 64-bitowej, możesz zwiększyć rozmiar stosu do żądanej kwoty. W przypadku korzystania z wersji 32-bitowej jest ona ograniczona do 4 GB.
Ustawia początkową wielkość sterty na 512 MB i maksymalny rozmiar stosu na 6 GB.
Mam nadzieję, że to pomoże.. :)
źródło
Mam problem z uruchomieniem plików py w moim kodzie Java przy użyciu środowiska eclipse / STS, otrzymuję PyException z powodu niewystarczającej pamięci sterty jvm. Dokonałem zmian wymienionych poniżej i jestem w stanie rozwiązać ten problem. Poniżej znajduje się moja konfiguracja systemu.
I to są zmiany, które wprowadziłem w moim obszarze roboczym i voila działa teraz idealnie.
źródło