Este artigo explica sobre a lista de saídas que precisam ser coletadas nos casos de suspeita de perda de memória.
A perda de memória, na maioria dos casos, é um processo muito lento e uma extensa análise de logs é necessária nesses casos.
Podemos requisitar várias amostras das saídas para nossa análise e compreender qual parte da memória é afetada.
Ferramenta de monitoramento de memória
Uma ferramenta de monitoramento de memória foi incorporada às versões S4810, MXL e Z9000 9.1 (0.0P6 +). Essa ferramenta captura o uso detalhado de alocação de dados de valor na solução de problemas de possíveis perdas de memória. A ferramenta de monitoramento de memória pode ser acessada por meio de uma sessão de console ou telnet.
1: Ative a ferramenta de monitoramento de memória
Para ativar a ferramenta de monitoramento de memória.
Exemplo de uso:
remote-exec cp f10mc -i 0x87
Exemplo:
Comando:
Z9000#remote-exec cp f10mc -i 0x87
Resposta do sistema:
f10mc -i 0x87
f10mc: inicializado para malloc, pool, pool_cache, com filtro para alocações de F10
SStk-0 #
2: Coleta de dados
2a: Coleta de dados periódicos de memória geral
Colete os dados periodicamente (intervalos de 4 a 6 horas) todos os dias por vários dias. Para coletar a saída, execute o seguinte comando. O comando a seguir exibe os detalhes gerais de memória do sistema. O número do ciclo na saída será incrementado em um cada vez que a saída for coletada.
Exemplo de uso:
remote-exec cp f10mc -r 0
Exemplo:
Comando:
Z9000#remote-exec cp f10mc –r 0
Resposta do sistema:
f10mc -r 0
{
----------------------
#### Este ciclo: 46176 bytes mantidos por 56 alocações ####
M: 1888(16); +2329280(18371), -2329280(18371)
P: 0(0); +0(0), -0(0)
PC: 44288(40); +3053056(11226), -3053056(11226)
#### Desde MCInit: 708902 bytes mantidos por 2112 alocações ####
M: 52006(1338); +110122134(928732), -110070128(927394)
P: 0(0); +0(0), -0(0)
PC: 656896(774); +148369408(548411), -147712512(547637)
}
SStk-0 #
A saída a seguir pode ser solicitada, além da saída da ferramenta de monitoramento de memória.
Comandos relacionados:
remote-exec cp top -b -o res all
remote-exec cp netstat –m
remote-exec cp vmstat –s
show process memory
show process memory management
show memory
show clock
2b: Coleta de dados de memória detalhados
Após a conclusão do período de coleta do comando "emote-exec cp f10mc –r 0”", será solicitada a saída do comando a seguir. O seguinte comando fornecerá detalhes precisos de memória do sistema.
Exemplo de uso:
remote-exec cp f10mc -r 1
Exemplo:
Comando:
Z9000#remote-exec cp f10mc –r 1
Resposta do sistema:
f10mc -r 1
{
PC:mbpl:0xC71F5200:256:3
PC:mclpl:0xD7C24800:2048:3
PC:mbpl:0xC71F3500:256:3
{saída truncada}
PC:mbpl:0xCAFC7F00:256:2
PC:mclpl:0xD7C4D000:2048:2
----------------------
#### Este ciclo: 286144 bytes mantidos por 266 alocações ####
M: 3520(16); +21362(417), -20514(415)
P: 0(0); +0(0), -0(0)
PC: 282624(250); +1129472(2200), -1126912(2197)
#### Desde MCInit: 599392 bytes mantidos por 542 alocações ####
M: 5216(20); +67838(1335), -62622(1315)
P: 0(0); +0(0), -0(0)
PC: 594176(522); +3513088(6660), -2918912(6138)
}
SStk-0 #
Os Engenheiros avaliarão os dados coletados e fornecerão detalhes sobre como coletar outras informações que ajudarão na identificação da fonte de perda de memória. A saída solicitada será para alocações de memória suspeitas:
Exemplo de uso:
remote-exec cp f10mc –c 0x
Exemplo:
Comando:
Z9000# remote-exec cp f10mc –c 0xCE0DDD00
Resposta do sistema:
f10mc -c 0xCE0DDD00
PC:mbpl:0xCE0DDD00:256:2> 0xC0100EAD 0xC033DA54 0xC0137ADE 0xC0136DD0 0xC0142682 0xC013FA17 0xC0148C38 0xC037C808 0xC037BE3F 0xC09B805A
call trace:
0xC0100EAD in Xsoftintr
0xC033DA54 in softint_dispatch
0xC0137ADE in ipintr
0xC0136DD0 in ip_input
0xC0142682 in tcp_input
0xC013FA17 in syn_cache_get
0xC0148C38 in tcp_template
0xC037C808 in m_gethdr
0xC037BE3F in m_get
0xC09B805A in f10MC_pool_cache_get_paddr
SStk-0 #
3: Desativar o monitoramento de memória
Para desativar a ferramenta de monitoramento de memória após a conclusão da análise de dados.
Exemplo de uso:
remote-exec cp f10mc -i 0x0
Exemplo:
Comando:
Z9000# remote-exec cp f10mc –c 0x0
Resposta do sistema:
f10mc -i 0x0
f10mc: deinitialized
SStk-0 #