Jednym z kluczowych zadań administratora systemów jest tworzenie zrzutów stanu systemu, pamięci Java oraz sterty na serwerze aplikacji WebSphere.
Procedura ta jest szczególnie istotna podczas diagnozowania problemów z aplikacją, gdy konieczne staje się zbadanie przyczyn nieprawidłowości w działaniu aplikacji lub infrastruktury.
Zrzuty te można wygenerować, korzystając z konsoli administracyjnej WebSphere lub za pomocą wiersza poleceń. Wybór metody zależy od indywidualnych preferencji administratora.
1. Generowanie zrzutów przy użyciu konsoli administracyjnej WebSphere
- Zaloguj się do konsoli DMGR.
- W panelu nawigacyjnym po lewej stronie odszukaj sekcję „Rozwiązywanie problemów”.
- W tej sekcji wybierz opcję „Zrzuty i rdzenie Java”.
- Z przedstawionej listy wybierz konkretną maszynę JVM, dla której chcesz wygenerować zrzut.
Po wykonaniu tych kroków zrzut stanu systemu i rdzeń Java zostaną utworzone w katalogu profilu WebSphere. Lokalizacja pliku zrzutu zostanie wyświetlona w komunikacie.
2. Generowanie zrzutów za pomocą wiersza poleceń
- Zaloguj się do serwera WebSphere.
- Przejdź do katalogu „bin” w profilu.
- Uruchom skrypt „wsadmin.sh”.
[[email protected] bin]# ./wsadmin.sh WASX7209I: Połączono z procesem "dmgr" na węźle localhostCellManager01 przy użyciu konektora SOAP; Typ procesu to: Menedżer Wdrożeń WASX7029I: Aby uzyskać pomoc, wpisz: "$Help help" wsadmin>
- Zdefiniuj nazwę maszyny JVM w zmiennej.
set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
Uwaga: W powyższym przykładzie użyto nazwy „server1”. Zastąp ją rzeczywistą nazwą swojej maszyny JVM.
wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=server1,*] WebSphere:name=JVM,process=server1,platform=proxy,node=localhostNode01,j2eeType=JVM,J2EEServer=server1,version=8.5.5.0,type=JVM,mbeanIdentifier=JVM,cell=localhostCell01,spec=1.0 wsadmin>
Generowanie zrzutu sterty
$AdminControl invoke $jvm generateHeapDump
Powyższa komenda spowoduje utworzenie zrzutu sterty i wyświetli ścieżkę do pliku zrzutu.
wsadmin>$AdminControl invoke $jvm generateHeapDump /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/./heapdump.20160618.225441.4808.0006.phd wsadmin>
Generowanie rdzenia Java
$AdminControl invoke $jvm dumpThreads
Ta komenda wygeneruje zrzut wątków, który będzie dostępny w katalogu profilu.
Jak widać, proces generowania zrzutów nie jest skomplikowany, a ich analiza może dostarczyć cennych informacji. Zapraszam do lektury kolejnego artykułu, w którym przedstawię, jak analizować zrzuty w celu rozwiązywania problemów z aplikacjami.
Czy artykuł okazał się przydatny? Zachęcam do udostępnienia go innym!