Generera Heap Dump, Java Core & System Dump i WebSphere

By rik

En central syssla för en systemadministratör är att framställa systemdumpar, Java-coredumpar och heapdumpar i WebSphere Application Server. Det är en process som ofta initieras vid felsökning av applikationer, när man behöver granska problem i själva applikationen eller den underliggande infrastrukturen.

Denna generering kan utföras antingen via WebSphere Administrative Console, ett grafiskt gränssnitt, eller genom kommandoraden, vilket är ett textbaserat alternativ. Valet av metod beror på administratörens preferenser och situationen.

1. Använda WebSphere Administrativa Konsolen

  • Börja med att logga in i DMGR-konsolen.
  • Sök upp sektionen för felsökning i menyn till vänster.
  • Klicka på ”Java dumpar och kärnor”.
  • En lista över tillgängliga JVM:er presenteras. Välj den JVM du vill generera dumpen för.

De genererade dump- och corefilerna sparas sedan i WebSphere-profilens mapp. Den absoluta sökvägen till filerna visas i ett meddelande.

2. Använda Kommandoraden

  • Logga in på den aktuella WAS-servern.
  • Navigera till profilens bin-mapp.
  • Kör skriptet wsadmin.sh.
[[email protected] bin]# ./wsadmin.sh
WASX7209I: Ansluten till processen "dmgr" på noden localhostCellManager01 med SOAP-anslutning; Processens typ är: DeploymentManager
WASX7029I: För hjälp, skriv: "$Help help"
wsadmin>
  • Tilldela JVM-namnet till en variabel.
set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]

Observera att ”server1” endast är ett exempel. Ersätt det med det korrekta namnet på din 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>

För att generera en heapdump

$AdminControl invoke $jvm generateHeapDump

Kommandot ovan skapar en heapdump och anger var filen lagras.

wsadmin>$AdminControl invoke $jvm generateHeapDump
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/./heapdump.20160618.225441.4808.0006.phd
wsadmin>

För att generera en Java-coredump

$AdminControl invoke $jvm dumpThreads

Detta kommando genererar en tråddump, som också sparas i profilens mapp.

Som ni ser är det enkelt att skapa dessa dumpar. Analys av dem är ofta mycket givande. Håll utkik efter min kommande artikel om hur man analyserar dessa filer för att effektivt felsöka applikationer.

Tyckte du om artikeln? Sprid gärna kunskapen vidare!