2009-06-12 12 views
8

Chciałbym wiedzieć, jakie są doświadczenia z śmieciarzem G1 w najnowszym JDK? W moim programie widzę NullPointerException, chociaż kod nie zmienił się i zachowuje się poprawnie we wcześniejszych plikach JDK.Doświadczenie z JDK 1.6.x G1 ("Garbage First")

+0

Pamiętaj, że jest to funkcja eksperymentalna, więc można spodziewać się problemów. – Mark

+4

Czy możesz podać przykładowy kod? Jest szansa, że ​​ujawniłeś problem z timingiem/współbieżnością z nowym kolektorem. –

+0

Otrzymałem losowe wyjątki OutOfMemoryError głównie w alokacji tablic. Przy normalnym GC nie występują żadne problemy. – akarnokd

Odpowiedz

2

ja już działa jedit używając:

-Xmx192M -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC 

przez ostatnie kilka dni na oknach. Nie doświadczyłem niczego, co mogłoby pójść źle lub źle się zachowywać.

Próbowałem także uruchomić Intellij używając G1 GC, to nie było tak uczciwe. Trwało to kilka godzin, zanim rozbiło się w wielkiej kupie bałaganu, może trochę optymistycznie.

1

Próbowałem i nie doświadczyłem żadnych wyjątków. Jednak wydajność naszego serwera spadła o około 30%.

+1

To rozczarowujące, że widzisz tak znaczącą degradację wydajności, ale ważne jest, aby pamiętać, że ważnym celem kolektora G1 jest zminimalizowanie przerw. Przy sterty kilku GB lub wyższej możesz uzyskać wiele minut przerwy, gdy GC działa z innymi kolektorami. Tak więc, nawet jeśli G1 prowadzi do nieco dłuższego czasu reakcji, o ile są one bardziej spójne i nigdy nie wykazują najgorszego przypadku, byłoby to dużym ulepszeniem dla niektórych aplikacji. –

+1

powinieneś zamieścić tutaj wszystkie opcje VM, abyśmy mogli porównać z Twoją "30% analizą kropli". – djangofan

3

Śmieciarka będzie mieć wpływ tylko na wydajność Twojej aplikacji, a nie na jej poprawność. Używam go do Eclipse, tylko dla zabawy i wydaje się stabilny.

Chciałbym szukać gdzie indziej źródła wyjątków.

+10

Z drugiej strony błąd w narzędziu do zbierania śmieci * może * wpływać na jego poprawność. Coś z "eksperymentalnego" mówi mi, że nie jest całkowicie nierozsądne kwestionowanie sytuacji. :) –

+2

Zgadzam się, że jest to eksperymentalne i nie użyłbym go do produkcji, przynajmniej nie z u14. –

Powiązane problemy