Muitos de vocês provavelmente já notaram arquivos *.hprof gerados na pasta de log nos servidores de BI. Os arquivos hprof são dumps de memória dos processos baseados em Java. Arquivos hprof grandes geralmente indicam problemas com falta de memória nos processos relacionados. Esses arquivos hprof podem ser configurados no início para rastrear e monitorar problemas de desempenho de memória.
Para analisar os arquivos hprof, existe uma ferramenta chamada Memory Analyzer (MAT) fornecida em conjunto pela SAP e IBM. Você pode baixar a última versão clicando
aqui
. Neste post, tentarei explicar brevemente como analisar os arquivos hprof e os problemas de OOM (falta de memória) nos servidores de BI e como resolvê-los.
-
Baixe a ferramenta MAT do URL acima e copie para algum lugar em seu disco. Não é necessário instalá-la, apenas descompactar. O Java deve estar instalado previamente, é claro. A versão mínima do Java é descrita na documentação.
-
Execute o executável "MemoryAnalyzer" na pasta "mat". Seu ícone é algo semelhante ao seguinte
-
A tela de entrada é a seguinte.
tela de entrada do MAT
-
Clique em Arquivo -> Abrir despejo de heap. Selecione o arquivo hprof conforme mostrado abaixo. Você verá o nome do arquivo no formato <"java_pid"><número de PID do SO do processo>. O número do PID pode dar uma pista para entender. No entanto, todos os processos do servidor de BI parecem iguais no gerenciador de tarefas. Além disso, o PID pode ser um subprocesso do processo principal. Você pode tentar encontrar o processo usando
process explorer.
No entanto, não fiquemos presos tentando encontrar a identidade do processo nesta etapa.
arquivo hprof
-
escolha "Relatório de suspeitos de vazamento"
-
Clique em "Visão geral do sistema"
-
Clique em "Propriedades do sistema"
-
Na próxima tela, você verá muitas propriedades e valores. O parâmetro mais importante aqui é o parâmetro "businessobjects.name". O parâmetro está no formato <nome do host.APS.***> como visto em CMC -> servidores. Esse parâmetro nos mostra o processo do servidor de BI ao qual a OOM está relacionada. Na maioria das vezes, o problema pode ser resolvido aumentando o valor de -Xmx do processo do servidor relacionado.
Neste post, tentei explicar os arquivos hprof e como entender o processo do servidor de onde o arquivo provém. Você pode ler em algumas notas da SAP o procedimento para desabilitar a geração de arquivos hprof. Desabilitar não é correto. Porque a geração desses arquivos nos informa que algo relacionado ao consumo de memória não está correto. Não desabilite. Analise os arquivos e faça uma parametrização adequada.