Gere Heap Dump, Java Core e System Dump no WebSphere: Guia Completo

Uma das funções cruciais de um administrador de sistemas é a capacidade de criar um dump do sistema, um core Java e um heap dump dentro do WebSphere Application Server.

Frequentemente, durante a resolução de problemas de um aplicativo, surge a necessidade de investigar a fundo as causas, seja no próprio aplicativo ou na infraestrutura que o suporta.

Essa tarefa pode ser realizada tanto através do Console Administrativo do WAS, quanto por meio da linha de comando, permitindo que cada administrador escolha o método que melhor se adapta às suas preferências.

1. Utilizando o Console Administrativo do WebSphere

  • Acesse o console do DMGR.
  • No menu lateral esquerdo, localize e clique em “Solução de problemas”.
  • Em seguida, selecione a opção “Dumps e núcleos Java”.
  • Escolha a JVM desejada na lista apresentada para gerar o dump.

O dump e o core serão gerados no diretório do perfil do WebSphere. O caminho completo para esses arquivos será exibido em uma mensagem de confirmação.

2. Empregando a Linha de Comando

  • Conecte-se ao servidor WAS.
  • Navegue até a pasta “bin” dentro do diretório do perfil.
  • Execute o script “wsadmin.sh”.
[[email protected] bin]# ./wsadmin.sh
WASX7209I: Conectado ao processo "dmgr" no nó localhostCellManager01 usando conector SOAP; O tipo de processo é: DeploymentManager
WASX7029I: Para ajuda, digite: "$Help help"
wsadmin>
  • Defina o nome da JVM em uma variável para facilitar o uso.
set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]

Observação: “server1” é apenas um exemplo. Substitua este valor pelo nome real da JVM que você deseja investigar.

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>

Para gerar um heap dump

$AdminControl invoke $jvm generateHeapDump

Este comando irá gerar o heap dump e informará o caminho completo onde o arquivo foi salvo.

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

Para gerar um Java Core

$AdminControl invoke $jvm dumpThreads

Este comando irá produzir o thread dump, que também será armazenado no diretório do perfil.

Como você pode ver, coletar dumps é um processo simples, e analisá-los pode trazer insights valiosos. Fique atento ao meu próximo artigo, onde abordarei como realizar a análise desses arquivos para auxiliar na solução de problemas em aplicações.

Gostou deste conteúdo? Considere compartilhá-lo com sua rede!