Prawie każdy w końcu napotyka problemy GC z Javą.Czy istnieje przewodnik po książkach kucharskich na temat problemów z GC?
Czy istnieje przewodnik kucharski lub półautomatyczne narzędzie do regulacji GC dla Java?
Moje uzasadnienie jest takie:
- Prawie każdy w końcu musi te problemy
- Istnieje wiele możliwych czynników (powiedzmy 20), z czego tylko kilka wpływu na problem.
- Większość ludzi nie wie, jak zidentyfikować kluczowe czynniki, więc tuning GC jest bardziej jak czarna sztuka niż nauka.
- Nie każdy korzysta z maszyny wirtualnej HotSpot. Różne wersje Sun mają różne charakterystyki GC.
- Istnieje niewielka zachęta do eksperymentowania (np. Uruchamiać maszynę wirtualną z nieco innymi ustawieniami każdego dnia, aby zobaczyć, jak grają).
Tak naprawdę pytanie brzmi: Czy jest coś, co mogę wykorzystać w sposób sprawdzający? A może nawet narzędzie, które analizuje dzienniki GC lub zrzuty sterty i daje mi konkretne wskazówki, gdzie szukać (zamiast powiedzieć mi "95% danych jest przydzielonych w obiektach typu bajt []", co jest w zasadzie bezużyteczne).
Powiązane pytania:
- Appropriate Tomcat 5.5 start-up parameters to tune JVM for extremely high demand, large heap web application? który jest bardzo specyficzny. Moje pytanie jest szersze.
- What are the best garbage collection settings for client side? Ponownie bardzo wąski zakres
- Does anyone know of a good guide to configure GC in Java? HotSpot tylko
- JVM memory management & garbage collection book? wynosi 80% tam, ale mi brakuje podejścia checklist/Książka kucharska/for-manekiny.
GC analizuje się i dostraja wiele parametrów, które można ustawić w inny sposób. Jeśli chcesz, aby GC dostroił się automatycznie, utrzymaj parametry GC na minimalnym poziomie. Jeśli musisz określić parametry, są to te, które będą specjalizować się w twoim przypadku i będą trudne do określenia automatycznie. –
Nigdy nie stworzyłem sobie listy kontrolnej, ponieważ pierwszą rzeczą, którą należy zrobić, jest: • Istnieje wiele motywacji do eksperymentowania (np. Uruchamianie VM z nieco innymi ustawieniami każdego dnia, aby zobaczyć, jak grają); D Bardzo często najprostszy soluton jest po to, aby adjsut pamięć ustabilizowała się trochę i zrobiłaś. –
@Peter: Czy istnieje sposób na zapisanie tych parametrów jako pewnego rodzaju "punktu początkowego", aby nie trzeba było wykonywać zadań po każdym uruchomieniu? A może przynajmniej na nich spojrzeć? –