10.5. Memória de processo de despejo com gcore
O fluxo de trabalho da depuração do núcleo permite a análise do estado do programa offline. Em alguns casos, é possível utilizar este fluxo de trabalho com um programa que ainda está em execução, como por exemplo quando é difícil acessar o ambiente com o processo. Você pode usar o comando gcore
para descarregar a memória de qualquer processo enquanto ele ainda está em execução.
Pré-requisitos
Procedimento
Descubra a identificação do processo (pid). Use ferramentas como
ps
,pgrep
, etop
:$ ps -C some-program
Despeje a memória deste processo:
$ gcore -o filename pid
Isto cria um arquivo filename e despeja nele a memória do processo. Enquanto a memória está sendo despejada, a execução do processo é interrompida.
- Após a conclusão do despejo do núcleo, o processo retoma a execução normal.
Criar um relatório SOS para fornecer informações adicionais sobre o sistema:
# sosreport
Isto cria um arquivo de alcatrão contendo informações sobre seu sistema, tais como cópias de arquivos de configuração.
- Transferir o arquivo executável do programa, a lixeira do núcleo e o relatório SOS para o computador onde será realizada a depuração.
- Opcional: Remover o despejo do núcleo e o relatório SOS depois de transferi-los, para liberar espaço em disco.
Recursos adicionais