O sarcină crucială pentru un administrator de sistem este crearea de imagini de memorie (dump) a sistemului, nucleului Java și a memoriei heap în WebSphere Application Server.
Această operațiune este necesară, de obicei, în timpul procesului de depanare a aplicațiilor, când investighezi probleme legate fie de aplicație, fie de infrastructură.
Această acțiune poate fi realizată fie prin intermediul Consolei de Administrare WAS, fie folosind linia de comandă. Alegerea metodei depinde de preferințele personale.
1. Utilizarea Consolei Administrative WebSphere
- Autentifică-te în Consola DMGR.
- Accesează secțiunea „Depanare” din meniul lateral.
- Selectează opțiunea „java dumps and cores”.
- Alege JVM-ul dorit din listă și apasă pe opțiunea de generare corespunzătoare.
Fișierele dump și core vor fi create în locația corespunzătoare profilului WebSphere. Vei primi calea absolută către acestea într-un mesaj afișat.
2. Utilizarea Liniei de Comandă
- Conectează-te la serverul WAS.
- Navighează la profilul serverului și intră în folderul „bin”.
- Execută scriptul „wsadmin.sh”.
[[email protected] bin]# ./wsadmin.sh WASX7209I: Connected to process "dmgr" on node localhostCellManager01 using SOAP connector; The type of process is: DeploymentManager WASX7029I: For help, enter: "$Help help" wsadmin>
- Definește numele JVM într-o variabilă.
set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
Notă: „server1” este doar un exemplu. Înlocuiește-l cu numele JVM-ului tău real.
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>
Pentru a crea un heap dump:
$AdminControl invoke $jvm generateHeapDump
Această comandă va genera un heap dump și va afișa locația unde a fost salvat.
wsadmin>$AdminControl invoke $jvm generateHeapDump /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/./heapdump.20160618.225441.4808.0006.phd wsadmin>
Pentru a crea un Java Core:
$AdminControl invoke $jvm dumpThreads
Aceasta va genera o imagine a firelor de execuție (thread dump), care va fi stocată în directorul profilului.
După cum poți observa, generarea acestor dump-uri este simplă, iar analiza lor poate fi foarte utilă. Te invit să citești următorul meu articol despre cum să le interpretezi în scopul depanării aplicațiilor.
Ți-a plăcut acest articol? Nu ezita să îl distribui și altor persoane interesate!