Czy proporcje między spacjami / generacjami w stałej Java Heap są stałe?

przeczytałemTen artykuł o tuningu śmieci w maszynie wirtualnej, aby lepiej zrozumieć java garbage collector. Każda przestrzeń maWirtualny obszar sterty, w którym może rosnąć w miarę potrzebnej przestrzeni sterty, zbliża się do maksymalnej wielkości sterty. Można to zobaczyć na tym zdjęciu:Układ generowania Java GC http://www.oracle.com/ocom/groups/public/@otn/documents/digitalasset/190244.gif

Możesz ustawić stosunek międzyMłoda generacjA iOld (Tenured) Generation zNewRatio parametr i stosunek międzyEden Space iPrzestrzeń dla ocalałych zSurvivorRatio parametr.

Niedawnoto pytanie zapytano o ustalenie domyślnych współczynników dla przestrzeni sterty. Mówi, że powinieneś użyćPrintGCDetails parametr i oblicz wskaźniki ręcznie.

Moje pytanie brzmi: czy wielkość różnych przestrzeni sterty zwiększa się o ten sam współczynnik, utrzymując w ten sposób stosunek między nimi na stałym poziomie podczas całego czasu działania aplikacji? Na przykład, jeśli generacja Young i Generacja Old / Tenured ma domyślną wartość NewRatio równą 3, a początkowa zarezerwowana przestrzeń sterty to 100 MB dla Younga, a 300 MB dla Old. Jeśli trzeba zarezerwować więcej pamięci dla Starej Przestrzeni, powiedzmy, że 300 MB więcej, co daje łącznie 600 MB. Czy pamięć zarezerwowana dla Młodej Przestrzeni również podwaja się do 200 MB, zachowując nienaruszony współczynnik?

questionAnswers(3)

yourAnswerToTheQuestion