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")
Odpowiedz
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.
Próbowałem i nie doświadczyłem żadnych wyjątków. Jednak wydajność naszego serwera spadła o około 30%.
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. –
powinieneś zamieścić tutaj wszystkie opcje VM, abyśmy mogli porównać z Twoją "30% analizą kropli". – djangofan
Ś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.
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. :) –
Zgadzam się, że jest to eksperymentalne i nie użyłbym go do produkcji, przynajmniej nie z u14. –
- 1. Różnica między jdk 1.6 i jdk 1.7?
- 2. Migracja kodu z JDK 1.5 na 1.6
- 3. Klasa Rozładunek w G1 Garbage Collector Java (G1GC)
- 4. JDK 1.7 vs JDK 1.6 klas wewnętrzne różnicy spadków
- 5. Względna wydajność śmieciarki Javy (najpierw G1)?
- 6. Jak zmienić kompilator Ant na JDK 1.6
- 7. Czy potrzebuję stax-api-1.0.x w mojej aplikacji internetowej podczas korzystania z JDK 1.6?
- 8. Dlaczego iOS 5 nie połączy się z serwerem z systemem JDK 1.6, ale nie JDK 1.5
- 9. Czy NetBeans 7.4 może mieć JDK 1.6 jako domyślną platformę?
- 10. Eclipse + Maven: wymuszenie środowiska wykonawczego "JavaSE-1.6" zamiast poprawionego JDK
- 11. Doświadczenie z systemów billingowych
- 12. Jak uruchomić Git 1.6.x na Windows z pamięci USB
- 13. Niepożądane Garbage Collection
- 14. Ktoś ma doświadczenie z AppScale?
- 15. Przełącz z jdk na Sun jdk
- 16. Różnica w DocumentBuilder.parse podczas korzystania z JRE 1.5 i JDK 1.6
- 17. JavaCompiler z JDK 1.6: jak pisać bajty klas bezpośrednio do tablicy bajtów []?
- 18. Co Java Garbage Collectors cleanup PermGen?
- 19. Doświadczenie w korzystaniu z extjs z grails?
- 20. Code First vs. Database First
- 21. jakiekolwiek doświadczenie z ramą programistyczną java "Play"?
- 22. Migracja z SVN do Perforce - porady? Doświadczenie?
- 23. Czy ktokolwiek ma jakieś doświadczenie z Hobo?
- 24. Każde doświadczenie z dobrym komponentem rysunku/biblioteką
- 25. Jakieś doświadczenie związane z migracją Flex 4?
- 26. Doświadczenie z PHP QuickHash dla dużych tablic
- 27. GWT Garbage Collection
- 28. nieobsługiwany MAJOR.MINOR wersja 51.0, ale wszystko jest ustawione na JDK 1.6
- 29. requestAnimationFrame garbage collection
- 30. Konserwatywny garbage collector
Pamiętaj, że jest to funkcja eksperymentalna, więc można spodziewać się problemów. – Mark
Czy możesz podać przykładowy kod? Jest szansa, że ujawniłeś problem z timingiem/współbieżnością z nowym kolektorem. –
Otrzymałem losowe wyjątki OutOfMemoryError głównie w alokacji tablic. Przy normalnym GC nie występują żadne problemy. – akarnokd