PytanieZapobieganie awariom Program pokazujący kiedy przydział stos ślady
Dlaczego VisualVM zakończyć swój program podczas próby wyświetlenia obiektu alokacji ślad stosu, i jak to naprawić?
mam oczyszczania aplikację, która ma kilka problemów z pamięcią, największym istota tworzenia pęczek krótkotrwały int[]
co powoduje GC na ogień jak szalony:
Kiedy Klikam prawym przyciskiem myszy int[]
i wybieram Zrób migawkę i wyświetl slajdy stosu alokacji, moja aplikacja zostanie zamknięta i wyświetli się okno z ostrzeżeniem informujące, że Nie udało się uzyskać migawki wyników. Aplikacja zakończona:
Najbliższy rzeczą znalazłem na ten temat był raport o błędzie, który recommended running my profiled application with -Xnoclassgc
. To nie zadziałało, wyniki były takie same.
Specyfikacja
VisualVM: 1.8.0_60 (Build 1380-140910); platform 20140910-unknown-revn
Java: 1.8.0_60; Java HotSpot(TM) 64-Bit Server VM (25.60-b23, mixed mode)
Eclipse: Luna Release (4.4.0) Build id: 20140612-0600
System: Windows 7 (6.1) Service Pack 1, amd64 64bit
dziennika crash
Wielkość dziennika wypadku przekroczone limit znaków, więc musiałem umieścić go gdzie indziej. Przepraszam.
Kilka pierwszych pytań: 1. Czy Eclipse jest w jakiś sposób związane z tą sytuacją, którą właśnie opisałeś? Wymieniłeś wersję Eclipse, ale nie wspominałeś o niej w żaden inny sposób. 2. Czy informacje o Java i systemie pochodzą z serwera, na którym aplikacja jest uruchomiona? –
Również awaria aplikacji powinna spowodować zapisanie raportu awarii w celu debugowania. Czy możesz zlokalizować plik (hprof?) I wkleić odpowiednią treść tutaj? –
Czy testujesz program Java Mission Control (jmc.exe)? Jest to to samo narzędzie, ale w przypadku Java8 z pewną brakującą funkcją. Ale możesz zrobić to samo, co VisualVM. –