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!