I den här artikeln kan du läsa om listan över utdata som måste samlas in i de fall där minnesläckage misstänks.
Minnesläckage är i de flesta fall en mycket långsam process och omfattande logganalyser krävs i sådana fall.
Vi kan behöva flera prover av utdata för vår analys och för att förstå vilken del av minnet som påverkas.
Verktyg för minnesövervakning
Ett verktyg för minnesövervakning införlivades i versionerna S4810, MXL och Z9000 9.1(0.0P6+). Det här verktyget samlar in detaljerad dataallokeringsanvändning som är värdefull vid felsökning av potentiella minnesläckor. Det går att komma åt verktyget för minnesövervakning via en konsol eller telnet-session.
1: Aktivera verktyget för minnesövervakning
Så här aktiverar du verktyget för minnesövervakning.
Använd t.ex.:
remote-exec cp f10mc -i 0x87
Exempel:
Kommando:
Z9000#remote-exec cp f10mc -i 0x87
Systemsvar:
f10mc -i 0x87
f10mc: Initialized for malloc, pool, pool_cache, with filter for F10 allocations
SStk-0 #
2: Samla in data
2a: Regelbundet samla in allmänna minnesdata
Samla in data regelbundet (4- till 6-timmarsintevall) varje dag i flera dagar. Kör följande kommando för att samla in utdata. Följande kommando visar systemets allmänna minnesinformation. Utdatans cykelnummer kommer öka med ett steg varje gång utdata samlas in.
Använd t.ex.:
remote-exec cp f10mc -r 0
Exempel:
Kommando:
Z9000#remote-exec cp f10mc –r 0
Systemsvar:
f10mc -r 0
{
----------------------
#### Den här cykeln: 46176 byte som innehas av 56 allokeringar ####
M: 1888(16); +2329280(18371), -2329280(18371)
P: 0(0); +0(0), -0(0)
PC: 44288(40); +3053056(11226), -3053056(11226)
#### Sedan MCInit: 708902 bytes som innehas av 2112 allokeringar ####
M: 52006(1338); +110122134(928732), -110070128(927394)
P: 0(0); +0(0), -0(0)
PC: 656896(774); +148369408(548411), -147712512(547637)
}
SStk-0 #
Följande utdata kan begäras utöver verktyget för minnesövervakning.
Relaterade kommandon:
remote-exec cp top -b -o res all
remote-exec cp netstat –m
remote-exec cp vmstat –s
visa processminne
visa processminneshantering
visa minne
visa klocka
2b: Samla in detaljerade minnesdata
Efter att insamlingsperioden för kommandot ”remote-exec cp f10mc –r 0” har slutförts kommer utdata från följande kommando att begäras. Följande kommando visar systemets exakta minnesinformation.
Använd t.ex.:
remote-exec cp f10mc -r 1
Exempel:
Kommando:
Z9000#remote-exec cp f10mc -r 1
Systemsvar:
f10mc -r 1
{
PC:mbpl:0xC71F5200:256:3
PC:mclpl:0xD7C24800:2048:3
PC:mbpl:0xC71F3500:256:3
{trunkerade utdata}
PC:mbpl:0xCAFC7F00:256:2
PC:mclpl:0xD7C4D000:2048:2
----------------------
#### Den här cykeln: 286144 byte som innehas av 266 allokeringar ####
M: 3520(16); +21362(417), -20514(415)
P: 0(0); +0(0), -0(0)
PC: 282624(250); +1129472(2200), -1126912(2197)
#### Sedan MCInit: 599392 bytes som innehas av 542 allokeringar ####
M: 5216(20); +67838(1335), -62622(1315)
P: 0(0); +0(0), -0(0)
PC: 594176(522); +3513088(6660), -2918912(6138)
}
SStk-0 #
Teknikerna kommer utvärdera insamlade data och förklara hur du samlar in ytterligare information som hjälper dig att identifiera källan för minnesläckan. Begärda utdata kommer gälla misstänkta minnesallokeringar:
Använd t.ex.:
remote-exec cp f10mc –c 0x
Exempel:
Kommando:
Z9000# remote-exec cp f10mc –c 0xCE0DDD00
Systemsvar:
f10mc -c 0xCE0DDD00
PC:mbpl:0xCE0DDD00:256:2> 0xC0100EAD 0xC033DA54 0xC0137ADE 0xC0136DD0 0xC0142682 0xC013FA17 0xC0148C38 0xC037C808 0xC037BE3F 0xC09B805A
anropsspårning:
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: Avaktivera minnesövervakning
Så här avaktiverar du verktyget för minnesövervakning efter att datagranskningen har slutförts.
Använd t.ex.:
remote-exec cp f10mc -i 0x0
Exempel:
Kommando:
Z9000#remote-exec cp f10mc -i 0x0
Systemsvar:
f10mc -i 0x0
f10mc: deinitialized
SStk-0 #