Denne artikkelen forklarer om listen over utganger som må samles inn i tilfeller der det er mistanke om minnelekkasje.
Minnelekkasje er i de fleste tilfeller en svært langsom prosess, og omfattende logganalyse er nødvendig i slike tilfeller.
Det kan være nødvendig med flere prøver av utdata for analysen vår, og for å forstå hvilken del av minnet som påvirkes.
Verktøy for minneovervåking
Et verktøy for minneovervåking ble innlemmet i S4810-, MXL- og Z9000 9.1-versjonene (0.0P6+). Dette verktøyet fanger opp detaljert informasjon om bruk av dataallokering i feilsøking av mulige minnelekkasjer. Du får tilgang til verktøyet for minneovervåking via en konsoll- eller telnet-økt.
1: Aktiver verktøy for minneovervåking
Slik aktiverer du verktøy for minneovervåking.
Brukseksempel:
remote-exec cp f10mc -i 0x87
Eksempel:
Kommando:
Z9000#remote-exec cp f10mc -i 0x87
Systemrespons:
f10mc -i 0x87
f10mc: Initialisert for malloc, del, pool_cache, med filter for F10-allokeringer
SStk-0 #
2: Innsamling av data
2a: Innsamling av periodisk generell minnedata
Samle inn dataene med jevne mellomrom (4 til 6 timers intervaller) hver dag i flere dager. Hvis du vil hente utdataene, utfører du følgende kommando. Følgende kommando viser generell minneinformasjon for systemet. Syklusnummeret i utdataene økes med én hver gang utdataene samles inn.
Brukseksempel:
remote-exec cp f10mc -r 0
Eksempel:
Kommando:
Z9000#remote-exec cp f10mc –r 0
Systemrespons:
f10mc -r 0
{
----------------------
#### Denne syklusen: 46176 bytes holdt av 56 allokeringer # # # #
M: 1888(16); +2329280(18371), -2329280(18371)
P: 0(0); +0(0), -0(0)
PC: 44288(40); +3053056(11226), -3053056(11226)
#### Siden MCInit: 708902 bytes holdt av 2112-allokeringer ####
M: 52006(1338); +110122134(928732), -110070128(927394)
P: 0(0); +0(0), -0(0)
PC: 656896(774); +148369408(548411), -147712512(547637)
}
SStk-0 #
Følgende utdata kan bli forespurt i tillegg til utdata for verktøy for minneovervåking.
Relaterte kommandoer:
remote-exec cp top -b -o res all
remote-exec cp netstat –m
remote-exec cp vmstat –s
vis prosessminne
vis behandling av prosessminne
vis minne
vis klokke
2b: Innsamling av detaljerte minnedata
Når innsamlingsperioden for kommandoen ‘remote-exec cp f10mc –r 0” er fullført, vil utdataene for følgende kommando bli forespurt. Følgende kommando gir presis minneinformasjon for systemet.
Brukseksempel:
remote-exec cp f10mc -r 1
Eksempel:
Kommando:
Z9000#remote-exec cp f10mc -r 1
Systemrespons:
f10mc -r 1
{
PC:mbpl:0xC71F5200:256:3
PC:mclpl:0xD7C24800:2048:3
PC:mbpl:0xC71F3500:256:3
{Utdata avkortet}
PC:mbpl:0xCAFC7F00:256:2
PC:mclpl:0xD7C4D000:2048:2
----------------------
#### Denne syklusen: 286144 bytes holdt av 266 allokeringer # # # #
M: 3520(16); +21362(417), -20514(415)
P: 0(0); +0(0), -0(0)
PC: 282624(250); +1129472(2200), -1126912(2197)
#### Siden MCInit: 599392 bytes holdt av 542-allokeringer ####
M: 5216(20); +67838(1335), -62622(1315)
P: 0(0); +0(0), -0(0)
PC: 594176(522); +3513088(6660), -2918912(6138)
}
SStk-0 #
Teknikeren vil evaluere de innsamlede dataene og gi deg informasjon om hvordan du samler inn ytterligere informasjon som kan hjelpe deg med å identifisere kilden til minnelekkasje. Forespurt utdata vil være for mistanke om minneallokering:
Brukseksempel:
remote-exec cp f10mc –c 0x
Eksempel:
Kommando:
Z9000# remote-exec cp f10mc –c 0xCE0DDD00
Systemrespons:
f10mc -c 0xCE0DDD00
PC:mbpl:0xCE0DDD00:256:2> 0xC0100EAD 0xC033DA54 0xC0137ADE 0xC0136DD0 0xC0142682 0xC013FA17 0xC0148C38 0xC037C808 0xC037BE3F 0xC09B805A
Sporing av anrop:
0xC0100EAD i Xsoftintr
0xC033DA54 i softint_dispatch
0xC0137ADE i 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 i f10MC_pool_cache_get_paddr
SStk-0 #
3: Deaktivere minneovervåking
Slik deaktiverer du verktøy for minneovervåking etter at datagjennomgangen er fullført.
Brukseksempel:
remote-exec cp f10mc -i 0x0
Eksempel:
Kommando:
Z9000#remote-exec cp f10mc -i 0x0
Systemrespons:
f10mc -i 0x0
f10mc: deinitialisert
SStk-0 #