Zwracanie pamięci do systemu operacyjnego

0

Czy wersja java 8 potrafi zwracać zarezerwowana pamięć do systemu operacyjnego gdy juz nie potrzebuje takiej póli czy dopiero od wersji 12 jest to możliwe?

1

Doprecyzuj pytanie :) w ogólności - tak, potrafi

0

Chodzi mi oto ze np odpalam apke z przydziałem max 8gb pamięci. Podczas dużego obciążenia vm javy zarezerwowała dla siebie ten max i pytanie czy jak obciążenie spadnie i apka bedzie potrzebowala juz tylko 1gb to czy virtualna maszyna javy zwróci to 7gb do systemu operacyjnego co finalnie apka bedzie konsumowala tylko 1gb ramu komputera

0

title
chodzi mi o ten pomarańczowy obszar jak widac na początku zarezerwował 2gb pozniej wyczyscił pamięć prawie do zera i jedzie na bardzo niskim poziomie i czy ten pomaranczowy zarezerwowany i wolny obasz zostanie zwrocony ?

2

https://stackoverflow.com/questions/30458195/does-gc-release-back-memory-to-os

Podejście, w którym proces JVM zwraca pamięć do OS może spowodować problemy wydajnościowe, np. skoki czasów odpowiedzi aplikacji, jeśli zachodzi akurat resize heapa - raczej niezalecane podejście. A jaki jest Twój use case?

0

ogólnie interesuje mnie czy java 8 to potrafi i robi to automatycznie, bo jakiś czas temu czytałem gdzieś artykuł że potrafi dopiero od wersji 11/12 jak dobrze pamiętam. I jakoś mnie naszło na zweryfikowanie tego a nie potrafie nigdzie znaleźć konkretów

4

A co jak zwróci do OS, jakiś inny program ją zajmie, i potem już nie będzie jak znowu wziąć tej pamięci dla javy? xd

0

Słuszna uwaga, ale głównie chodziło mi tylko o to czy jest to możliwe w wersji 8. Czytając stacka podesłanego przez Charles_Ray widzę że 8 to potrafi przy użyciu G1 ale trzeba to ręcznie wywołać, natomiast od wersji 12 robi to automatycznie gdy aplikacja się nudzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1