Intellij Idea - profilowanie
Profiler zapewnia wgląd w aplikację, taką jak jej procesor, pamięć i użycie sterty. Zawiera również szczegółowe informacje o wątkach aplikacji. W tym rozdziale omówiono użycie narzędzia VisualVM do profilowania aplikacji Java. Może profilować jednostki, takie jak procesor i sterta.
Zaleca się, aby czytelnicy tego samouczka zapoznali się z pojęciami dotyczącymi profilera aplikacji.
Wprowadzenie
VisualVM to narzędzie wizualne, które integruje narzędzia JDK i zapewnia potężne możliwości profilowania. Umożliwia generowanie i analizowanie danych sterty, śledzenie wycieków pamięci, monitorowanie modułu odśmiecania pamięci oraz wykonywanie profilowania pamięci i procesora.
Korzyści
Interfejs wizualny dla lokalnych i zdalnych aplikacji Java działających na JVM.
Monitorowanie wykorzystania pamięci aplikacji i zachowania aplikacji w czasie wykonywania.
Monitorowanie wątków aplikacji
Analiza alokacji pamięci dla różnych aplikacji.
Zrzuty wątków - bardzo przydatne w przypadku zakleszczeń i warunków wyścigu.
Zrzuty sterty - bardzo przydatne w analizie alokacji pamięci sterty.
Konfiguracja
W tej sekcji dowiemy się, jakie kroki należy wykonać, aby skonfigurować VisualVM. Kroki są następujące -
Pobierz go stąd .
Rozpakuj plik zip.
Przejdź do pliku etc / visualvm.conf i dodaj następujący wiersz w tym pliku -
visualvm_jdkhome=<path of JDK>
Jeśli pakiet JDK jest zainstalowany w C:\Program Files\Java\jdk-9.0.1 katalog powinien wyglądać tak -
visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"
Aplikacja monitorująca
Zobaczmy teraz, jak monitorować aplikację. Rozważ następujące kroki, aby zrozumieć to samo -
- Kliknij dwukrotnie plik visualvm.exe.
- Wybierz aplikację z lewego panelu.
- Wybierz kartę monitora.
Zostaniesz przekierowany do okna, w którym uzyskasz szczegółowe informacje na temat procesora, sterty, klas i wątków. Aby być konkretnym, najedź myszą na dowolny wykres. Na powyższym zrzucie ekranu widać użycie Heap.
Statystyki dotyczące wątków
Aplikacja Java może zawierać wiele wątków wykonania. Aby dowiedzieć się więcej o wątkach, wybierz kartę Wątki danej aplikacji. Daje różne statystyki dotyczące wątków, takie jak liczba wątków na żywo i wątków demonów. Różne stany wątku to Uruchomiony, Śpiący, Oczekiwanie, Parkowanie i Monitorowanie.
Aplikacja do pobierania próbek
VisualVM obsługuje procesor, próbkowanie pamięci i wykrywanie wycieków pamięci. Aby pobrać przykładową aplikację, wybierz aplikację i wybierz przykładową zakładkę -
Próbkowanie procesora
Aby pobrać próbkowanie CPU, kliknij przycisk CPU, jak pokazano na poniższym zrzucie ekranu -
Profilowanie pamięci
Aby profilować pamięć, kliknij przycisk Pamięć, jak pokazano na poniższym zrzucie ekranu -
Wycieki pamięci
Wyciek pamięci występuje, gdy uruchomiona aplikacja powoli wypełnia stertę obiektami, które nie są automatycznie usuwane przez program.
Jeśli obiekt, który nie jest używany przez program, nie zostanie usunięty, pozostanie w pamięci, a GC nie może odzyskać swojej przestrzeni. Jeśli liczba bajtów i liczba wystąpień w aplikacji miałaby stale i znacznie wzrastać w programie, aż do wyczerpania całej przestrzeni, może to wskazywać na wyciek pamięci.
Aplikacja do profilowania
W tej sekcji dowiemy się, jak profilować aplikację. Aby sprofilować aplikację, wybierz aplikację z lewego panelu i kliknij kartę profilu -
Profilowanie procesora
Aby wykonać profilowanie procesora, kliknij przycisk procesora, jak pokazano na poniższym zrzucie ekranu -
Profilowanie pamięci
Aby wykonać profilowanie procesora, kliknij przycisk procesora, jak pokazano na poniższym zrzucie ekranu -