Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Conventies

Wat is een geheugentoewijzingsfout?

Symptomen

"Kan geen EXEC maken" fout of wanneer de console niet reageert

De foutmelding begrijpen

Mogelijke oorzaken

In processorgeheugen ("poolprocessor" op alle platforms)

In Packet Memory ("I/O" of " Processor" op high-end routers, "PCI" op 7200 Series en VIP-kaarten)

Problemen oplossen

Beveiligingsgerelateerde problemen

Geheugengrootte ondersteunt de Cisco IOS-softwareafbeelding niet

Geheugen-lekbug

Het *Dead*-proces

Grote hoeveelheid geheugen gebruikt voor normale of abnormale processen

Geheugenfragmentatieprobleem of -bug

Geheugentoewijzingsfout bij proces = interrupt niveau

Geheugenuitputting als gevolg van downloads per gebruikerstoegangslijsten

Bekende problemen

Bekende 70x0 probleem wanneer grote Cisco IOS-software geladen van Flash of NetBoot

IP-ingang en CiscoWorks UT-detectie

Niet genoeg gedeeld geheugen voor de interfaces

Buffer-lekbug

Router weinig vaart op snel geheugen

IPFAST-4-RADIXDELETE: Fout bij het verwijderen van prefixvermelding [IP_address]/[dec] (verwacht [hex], got [hex])

%SYS-2-CHUNKEXPANDFAIL: Kan chunkpool voor TACL-bitmap niet uitbreiden. Geen geheugen beschikbaar

Samenvatting

Geheugentoewijzingsfouten bij de "processor" van de pool

"I/O"-geheugentoewijzingsfouten in de pool ("Processor" op high-end routers, "PCI" op 7200 Series)

Gerelateerde informatie

Inleiding

Dit document beschrijft symptomen en mogelijke oorzaken van geheugentoewijzingsfout (MALLOCFAIL) en geeft aan hoe deze problemen kunnen worden verholpen.

Voorwaarden

Vereisten

Er zijn geen specifieke vereisten van toepassing op dit document.

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- Alle Cisco IOS®softwareversies

- Alle Cisco-routers

Opmerking: dit document is niet van toepassing op Cisco Catalyst-switches die gebruikmaken van CatOS- of MGX-platforms.

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.

Conventies

Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.

Wat is een geheugentoewijzingsfout?

Geheugentoewijzingsfout:

- De router heeft al het beschikbare geheugen gebruikt (tijdelijk of permanent), of

- Het geheugen is gefragmenteerd in zulke kleine stukken dat de router geen bruikbaar beschikbaar blok kan vinden. Dit kan gebeuren met het processorgeheugen (dat wordt gebruikt door het Cisco Internet Operating System [Cisco IOS]) of met het pakketgeheugen (dat wordt gebruikt door inkomende en uitgaande pakketten).

Symptomen

Symptomen van een geheugentoewijzingsfout zijn onder meer:

- De console of het logbericht: "%SYS-2-MALLOCFAIL: Geheugentoewijzing van 1028 bytes is mislukt vanaf 0x6015EC84, poolprocessor, alignment 0"

- Geweigerde Telnet-sessies

- De opdracht show processor geheugen wordt weergegeven ongeacht welke opdracht u typt op een console

- Geen uitvoer van bepaalde opdrachten tonen

- Berichten "Laag geheugen"

- Het consolebericht "Kan geen EXEC maken - geen geheugen of te veel processen"

- Routerophanging, geen consolerespons.

"Kan geen EXEC maken" fout of wanneer de console niet reageert

Wanneer een router laag op geheugen is, is het in sommige gevallen niet mogelijk om Telnet aan de router te ontvangen. Op dit punt is het belangrijk om toegang te krijgen tot de consolepoort om gegevens te verzamelen voor probleemoplossing. Wanneer u echter verbinding maakt met de consolepoort, kunt u dit zien:

%% Unable to create EXEC - no memory or too many processes

Als u het vorige bericht ziet, is er niet eens genoeg beschikbaar geheugen om een consoleverbinding toe te staan. Er zijn stappen die u kunt nemen om gegevensopname via de console toe te staan. Als u de router helpt wat geheugen vrij te maken, kan de console reageren, en kunt u vervolgens de benodigde gegevens van de router vastleggen voor probleemoplossing.

Opmerking: als BGP (Border Gateway Protocol) op de router is geconfigureerd, kunt u verwijzen naar Optimale routing realiseren en BGP-geheugenverbruik verminderen om het geheugenverbruik met betrekking tot dit proces te verminderen.

Dit zijn de stappen die u kunt proberen om gegevens op te nemen wanneer de consolepoort zich in zeer lage geheugenomstandigheden bevindt:

1. Koppel de LAN- en WAN-kabels los van de interfaces op de router. Dit kan de router ertoe aanzetten te stoppen met het doorgeven van pakketten.

2. Controleer de console opnieuw. Kunt u een reactie krijgen en opdrachten uitvoeren? Na enkele ogenblikken moet er voldoende geheugen beschikbaar zijn om de console te laten reageren.

3. Verzamel de vereiste informatie van de bevoorrechte wijze EXEC (Router#). Minimaal wilt u de volledige uitvoer van deze opdrachten verzamelen: toon geheugentoewijzing-proces totalen (of toon geheugensamenvatting als tonen geheugen toewijzen-proces totalen niet beschikbaar is), tonen vastlegging , en indien mogelijk, tonen technische ondersteuning .

4. Nadat u de benodigde gegevens hebt verzameld, sluit u alle LAN- en WAN-koppelingen opnieuw aan en blijft u het geheugengebruik van de router controleren.

De foutmelding begrijpen

Wanneer u een show logging opdracht doet, moet u iets als dit zien:

%SYS-2-MALLOCFAIL: Memory allocation of [X] bytes failed from

0x6015EC84, pool [Pool], alignment 0 -Process=

"[Process]" ipl= 6, pid=5

[X] = het aantal bytes dat de router probeerde toe te wijzen, maar kon niet genoeg vrij geheugen vinden om dit te doen

[Pool] geeft aan of het processorgeheugen (' Pool Processor ') of het pakketgeheugen (' pool I/O ') is aangetast. High-end routers (7000, 7500 Series) hebben hun buffers in het belangrijkste dynamische willekeurig-access geheugen (DRAM), zodat een gebrek aan pakketgeheugen kan worden gerapporteerd als "poolprocessor". 7200 Series en Veelzijdige interfaceprocessor (VIP) kaarten kunnen ook fouten rapporteren in pool Protocol Control Information (' pool PCI ')" voor het pakketgeheugen.

[Proces] is het proces dat werd beïnvloed door het gebrek aan geheugen.

Mogelijke oorzaken

In processorgeheugen ("poolprocessor" op alle platforms)

Geheugengrootte ondersteunt de Cisco IOS-softwareafbeelding niet

Geheugen-lekbug

Grote hoeveelheid geheugen gebruikt voor normale of abnormale processen

Geheugenfragmentatieprobleem of -bug

Geheugentoewijzingsfout bij proces = <interrupt level>

Bekende problemen

Bekende 70x0 probleem bij het laden van grote Cisco IOS-software van Flash of Netboot

IP-ingang en CiscoWorks UT-detectie

In Packet Memory ("I/O" of " Processor" op high-end routers, "PCI" op 7200 Series en VIP-kaarten)

Niet genoeg gedeeld geheugen voor de interfaces

Buffer-lekbug

Router die Laag op Snel Geheugen loopt

Problemen oplossen

Beveiligingsgerelateerde problemen

Doorgaans worden MALLOCFAIL-fouten veroorzaakt door een beveiligingsprobleem, zoals een worm of virus die in uw netwerk actief zijn. Dit is waarschijnlijk vooral de oorzaak als er geen recente veranderingen in het netwerk zijn geweest, zoals een router Cisco IOS upgrade. Gewoonlijk, kan een configuratieverandering, zoals als u extra lijnen aan uw toegangslijsten toevoegt de gevolgen van dit probleem verlichten. De pagina Cisco Product Security Advisories en Kennisgevingen bevat informatie over de detectie van de meest waarschijnlijke oorzaken en specifieke omzeilingen.

Zie voor meer informatie:

- 100 Vragen en antwoorden over Internet Threats

- Cisco-controle op bedreigingen

Geheugengrootte ondersteunt de Cisco IOS-softwareafbeelding niet

Controleer eerst in het Download Software Area of er een minimale geheugengrootte is voor de functieset en de versie die u gebruikt. Controleer of het voldoende is. De geheugenvereisten op Cisco.com zijn de minimum geadviseerde grootte voor het correcte functioneren van de router in de meeste bedrijfnetwerken. De werkelijke geheugenvereisten variëren op basis van protocollen, routingtabellen en verkeerspatronen.

Opmerking: alleen geregistreerde Cisco-gebruikers hebben toegang tot interne Cisco-informatie en -tools.

Geheugen-lekbug

Als u de output van een opdracht van het totaalproces van het showgeheugen hebt, een opdracht voor het samenvatten van het showgeheugen, of de opdracht voor technische ondersteuning (in de activeringsmodus) vanaf uw Cisco-apparaat laat zien, kunt u de uitvoertolk gebruiken om potentiële problemen en oplossingen weer te geven.

Opmerking: alleen geregistreerde Cisco-gebruikers hebben toegang tot interne Cisco-informatie en -tools.

Er treedt een geheugenlek op als een proces om geheugen vraagt of dit toewijst, en vergeet het geheugen vervolgens vrij te maken (niet-toe te wijzen) als het met die taak is voltooid. Dientengevolge, is het geheugenblok gereserveerd tot de router wordt herladen. In de loop der tijd worden steeds meer geheugenblokken toegewezen door dat proces totdat er geen gratis geheugen beschikbaar is. Gebaseerd op de ernst van de lage geheugensituatie op dit punt, is de enige optie u hebt de router te herladen om het weer operationeel te krijgen.

Dit is een bug in Cisco Internet Operating System (Cisco IOS). Als u deze niet meer wilt gebruiken, upgradt u naar de nieuwste versie van uw release-trein, bijvoorbeeld als u Cisco IOS-softwarerelease 11.2(14)XR uitvoert, naar de nieuwste 11.2(x)-afbeelding.

Als dit het probleem niet oplost, of als u de router niet wilt upgraden, voert u de opdracht geheugen van showprocessen op regelmatige tijdstippen in over een bepaalde periode (bijvoorbeeld om de paar uur of dagen op basis van of u een snel of langzaam lek hebt). Controleer of het vrije geheugen blijft afnemen en nooit wordt teruggegeven. De snelheid waarmee vrij geheugen verdwijnt, hangt af van hoe vaak de gebeurtenis plaatsvindt die tot het lek leidt. Aangezien het geheugen nooit wordt bevrijd, kunt u het proces volgen dat het geheugen gebruikt als u geheugenmomentopnamen in tijd neemt. Houd in gedachten dat verschillende processen geheugen toewijzen en unalloceren zoals nodig, zodat u verschillen kunt zien, maar als het lek verdergaat, moet u één proces zien dat voortdurend meer geheugen verbruikt.

Opmerking: het is normaal dat bij bepaalde processen, zoals BGP-router (Border Gateway Protocol) of OSPF-router (Open Shortest Path First), meer dan een megabyte geheugen wordt gebruikt; dit betekent niet dat deze lekken.

Om het proces te identificeren dat meer geheugen verbruikt, vergelijk de kolom van de Holding van de opdracht van het showprocessen-geheugen over het tijdinterval. Soms kun je heel duidelijk zien dat één proces meerdere megabytes aan geheugen vasthoudt. Soms zijn er verschillende momentopnames nodig om de schuldige te vinden. Wanneer een aanzienlijke hoeveelheid geheugen is verloren, verzamel een show memory allocating-proces totals opdracht of toon memory overview opdracht voor extra probleemoplossing. Neem vervolgens contact op met het Cisco Technical Assistance Center (TAC) en verstrek de informatie die u hebt verzameld, samen met een samenvatting van de show Technical Support van de router.

Het hulpmiddel van de Tolk van de Output staat u toe om een analyse van het show geheugen te ontvangen toewijzen-proces totalen bevel of geheugensummiere output te tonen.

Opmerking: alleen geregistreerde Cisco-gebruikers hebben toegang tot interne Cisco-informatie en -tools.

De tabel geeft de eerste drie regels van de show memory summiere opdrachtoutput:

Router>show memory summary

Head       Total (b)   Used (b)  Free (b)   Lowest (b)  Largest (b)

Processor   60AB4ED0   5550384     2082996   3467388    3464996     3454608

I/O         40000000   16777216    1937280   14839936   14839936    14838908

Totaal = de totale hoeveelheid geheugen beschikbaar nadat het systeembeeld laadt en zijn gegevensstructuren bouwt.

Gebruikt = de hoeveelheid geheugen die momenteel is toegewezen.

Kosteloos = de hoeveelheid geheugen momenteel vrij.

Laagste = de laagste hoeveelheid vrij geheugen die door de router is opgenomen sinds deze voor het laatst is opgestart.

Grootste = het grootste gratis geheugenblok dat momenteel beschikbaar is.

De show memory allocating-proces totals opdracht bevat dezelfde informatie als de eerste drie regels van de show memory overview opdracht.

Hier is wat u van de show kunt leren verwerkt geheugen opdrachtoutput:

Router>show processes memory

Total: 3149760, Used: 2334300, Free: 815460

PID   TTY   Allocated    Freed      Holding    Getbufs    Retbufs   Process

0     0     226548       1252       1804376    0          0         *Initialization*

0     0     320          5422288    320        0          0         *Scheduler*

0     0     5663692      2173356    0          1856100    0         *Dead*

1     0     264          264        3784       0          0         Load Meter

2     2     5700         5372       13124      0          0         Virtual Exec

3     0     0            0          6784       0          0         Check heaps

4     0     96           0          6880       0          0         Pool Manager

5     0     264          264        6784       0          0         Timers

6     0     2028         672        8812       0          0         ARP Input

7     0     96           0          6880       0          0         SERIAL A' detect

8     0     504          264        7024       0          0         ATM ILMI Input

9     0     0            0          6784       0          0         ILMI Process

10    0     136          0          6920       0          0         M32_runts pring

11    0     136          0          6920       0          0         Call drop procs

12    0     340          340        12784      0          0         ATMSIG Timer

13    0     445664       442936     13904      0          0         IP Input

14    0     2365804      2357152    17992      0          0         CDP Protocol

15    0     528          264        7048       0          0         MOP Protocols

16    0     188          0          9972       0          0         IP Background

17    0     0            1608       6784       0          0         TCP Timer

18    0     5852116      0          14236      0          0         TCP Protocols

Toegewezen = de totale hoeveelheid bytes die door het proces zijn toegewezen sinds de router begon.

Freed = het totale aantal bytes dat door dit proces is vrijgegeven.

holding = het totale aantal bytes dat momenteel door dit proces wordt aangehouden. Dit is de belangrijkste kolom voor probleemoplossing omdat deze de werkelijke hoeveelheid geheugen toont die aan dit proces is toegewezen. Holding is niet noodzakelijkerwijs gelijk aan Allocation minus Freed omdat sommige processen een blok geheugen toewijzen dat later door een ander proces wordt teruggegeven aan het vrije zwembad.

Het *Dead*-proces

Het *dead* proces is geen echt proces. Het is er om rekening te houden met het geheugen dat is toegewezen in de context van een ander proces dat is beëindigd. Het geheugen dat aan dit proces is toegewezen, wordt door de kernel teruggewonnen en indien nodig door de router zelf teruggegeven aan de geheugenpool. Dit is de manier waarop Cisco IOS geheugen verwerkt. Een geheugenblok wordt als dood beschouwd als het proces dat het blok heeft gemaakt, wordt beëindigd (niet meer actief). Elk blok houdt het adres en de betaling bij van het proces dat het heeft gemaakt. Tijdens periodiek geheugen tellen, als het proces dat de planner van een blokspid te weten komt niet het proces aanpast dat het blok herinnerde, wordt het blok gemarkeerd als dood.

Daarom is geheugen dat is gemarkeerd als toebehorend aan proces *Dead* toegewezen onder de controle van een proces dat niet langer actief is. Het is normaal om in zo'n toestand een aanzienlijke hoeveelheid geheugen te hebben. Hierna volgt een voorbeeld:

Het geheugen wordt toegewezen wanneer de Network Address Translation (NAT) wordt geconfigureerd gedurende een Telnet-sessie. Dat geheugen is verantwoording verschuldigd onder het Telnet-proces ("Virtual Exec"). Zodra dit proces is beëindigd, is het geheugen voor de NAT-configuratie nog steeds in gebruik. Dit wordt getoond met het *dead* proces.

U kunt zien onder welke context het geheugen is toegewezen met de show memory dead opdracht, onder de kolom "Wat":

Router#show memory dead

Head   Total(b)    Used(b)    Free(b)  Lowest(b) Largest(b)

I/O    600000    2097152     461024    1636128    1635224    1635960

Processor memory

Address  Bytes Prev.    Next     Ref  PrevF   NextF   Alloc PC  What

1D8310       60 1D82C8   1D8378     1                  3281FFE   Router Init

2CA964       36 2CA914   2CA9B4     1                  3281FFE   Router Init

2CAA04      112 2CA9B4   2CAAA0     1                  3A42144   OSPF Stub LSA RBTree

2CAAA0       68 2CAA04   2CAB10     1                  3A420D4   Router Init

2ED714       52 2ED668   2ED774     1                  3381C84   Router Init

2F12AC       44 2F124C   2F1304     1                  3A50234   Router Init

2F1304       24 2F12AC   2F1348     1                  3A420D4   Router Init

2F1348       68 2F1304   2F13B8     1                  3381C84   Router Init

300C28      340 300A14   300DA8     1                  3381B42   Router Init

Als een geheugenlek wordt gedetecteerd en het *Dead*-proces lijkt het proces te zijn dat het geheugen opneemt, neem dan een show memory dead in de informatie die aan Cisco TAC is geleverd.

Grote hoeveelheid geheugen gebruikt voor normale of abnormale processen

Dit is een van de moeilijkste oorzaken om te verifiëren. Het probleem wordt gekarakteriseerd door een grote hoeveelheid vrij geheugen, maar een kleine waarde in de "Laagste" kolom. In dit geval, veroorzaakt een normale of abnormale gebeurtenis (bijvoorbeeld, een grote routinginstabiliteit) de router om een ongewoon grote hoeveelheid processorgeheugen voor een korte periode te gebruiken, waarin het geheugen is opgebruikt. Tijdens die periode meldt de router MALLOCFAIL. Het kan gebeuren dat snel daarna, het geheugen wordt bevrijd en het probleem verdwijnt (bijvoorbeeld, stabiliseert het netwerk). Het geheugentekort kan ook te wijten zijn aan een combinatie van factoren, zoals:

- een geheugenlek dat een grote hoeveelheid geheugen heeft verbruikt, en dan duwt een netwerkinstabiliteit het vrije geheugen aan nul

- de router heeft niet genoeg geheugen om te beginnen met, maar het probleem wordt ontdekt slechts tijdens een zeldzame netwerkgebeurtenis.

Als de router niet is opgestart, voert u de show memory allocating-process totals opdracht (of de show memory summary indien show memory allocating-process totals  is niet beschikbaar) en kijk naar de eerste drie regels. De logberichten kunnen aanwijzingen geven over welk proces veel geheugen verbruikte:

Als groot geheugengebruik te wijten was aan:

- normaal gesproken is de oplossing om meer geheugen te installeren.

- zeldzame of abnormale gebeurtenis, los het verwante probleem op. U kunt dan besluiten om extra geheugen te kopen voor toekomstige "verzekeringen".

Geheugenfragmentatieprobleem of -bug

Deze situatie betekent dat een proces een grote hoeveelheid processorgeheugen heeft verbruikt en vervolgens het meeste of alle geheugen heeft vrijgegeven en fragmenten van geheugen nog steeds toegewezen door dit proces, of door andere processen die geheugen toegewezen hebben tijdens het probleem. Als dezelfde gebeurtenis meerdere malen voorkomt, kan het geheugen fragmenteren in zeer kleine blokken, tot het punt waar alle processen die een groter blok geheugen vereisen niet de hoeveelheid geheugen kunnen krijgen die ze nodig hebben. Dit kan de werking van de router dusdanig beïnvloeden dat u geen verbinding met de router kunt maken en een melding krijgt als het geheugen sterk gefragmenteerd is.

Dit probleem wordt gekarakteriseerd door een lage waarde in de "Grootste" kolom (minder dan 20.000 bytes) van de show memory opdracht, maar een voldoende waarde in de kolom "Freed" (1MB of meer), of enige andere grote discrepantie tussen de twee kolommen. Dit kan gebeuren wanneer de router zeer laag op geheugen wordt, aangezien er geen fragmentatieroutine in Cisco IOS is.

Als u geheugenfragmentatie vermoedt, sluit u bepaalde interfaces af. Hierdoor kunnen de gefragmenteerde blokken vrijkomen. Als dit werkt, gedraagt het geheugen zich normaal, en alles wat je hoeft te doen is meer geheugen toevoegen. Als wanneer u interfaces sluit helpt het niet, kan het een fout zijn. Het beste actieplan is om contact op te nemen met uw Cisco-ondersteuningsvertegenwoordiger met de informatie die u hebt verzameld.

Geheugentoewijzingsfout bij proces = interrupt niveau

Deze situatie kan door het proces in de foutmelding worden geïdentificeerd. Als het proces wordt vermeld als <interrupt level>, zoals in het volgende voorbeeld, dan wordt de geheugentoewijzingsfout veroorzaakt door een softwareprobleem.

"%SYS-2-MALLOCFAIL: Memory allocation of 68 bytes failed from 0x604CEF48,

pool Processor, alignment 0-Process=

, ipl= 3"

Dit is een bug in Cisco Internet Operating System (Cisco IOS). U kunt de Bug Toolkit gebruiken om te zoeken naar een bijpassende software bug ID voor dit probleem. Nadat het softwarevirus is geïdentificeerd, upgrade dan naar een Cisco IOS-softwareversie die de oplossing voor het probleem bevat.

Opmerking: alleen geregistreerde Cisco-gebruikers hebben toegang tot interne Cisco-informatie en -tools.

Geheugenuitputting als gevolg van downloads per gebruikerstoegangslijsten

Toegangslijsten kunnen veel geheugen verbruiken wanneer ze per gebruiker worden gebruikt. De toegangslijsten zijn te groot om als mini-toegangscontrolelijsten (ACL’s) te worden geclassificeerd en worden nu gecompileerd als turbo-ACL’s. Elke keer dat dit gebeurt, moet het TACL-proces de nieuwe ACL in- en verwerken. Dit kan resulteren in verkeer dat wordt toegestaan of geweigerd op basis van de compilatietijd en de beschikbare procestijd.

Gecompileerde ACL’s moeten naar XCM worden verstuurd. Wanneer er slechts beperkte ruimte beschikbaar is en zodra het geheugen is uitgevoerd, worden de consoleberichten gezien en start geheugendefragger.

Dit is de tijdelijke oplossing:

- Gebruik van beknopte ACL’s, minder Application Control Engines (ACE’s) die als mini ACL’s kunnen compileren en die zowel het geheugenverbruik als de proceskracht voor compilatie kunnen verminderen.

- Gebruik van vooraf gedefinieerde ACL’s op de router waarnaar wordt verwezen via radius attribuut filterID.

Bekende problemen

Bekende 70x0 probleem wanneer grote Cisco IOS-software geladen van Flash of NetBoot

Wanneer een 7000 routeprocessor (RP) een afbeelding opstart van Flash, laadt het eerst de ROM-afbeelding en vervolgens de flitsafbeelding in het geheugen. De oude RP heeft slechts 16 MB geheugen en de Enterprise-versies van Cisco IOS-softwarerelease later dan versie 11.0 zijn groter dan 8 MB wanneer deze niet worden gecomprimeerd. Daarom, wanneer u het beeld van ROM en dan Flash laadt, kan de 7000 RP zonder geheugen lopen, of het geheugen kan gefragmenteerd worden tijdens het opstarten proces zodat de router geheugen-gerelateerde foutmeldingen heeft.

De oplossing is Fast Boot in te schakelen uit het configuratieregister, zodat de RP slechts een minimale subset van de Cisco IOS-softwareafbeelding in ROM laadt en vervolgens de volledige Cisco IOS-software van Flash laadt. Om Fast Boot in te schakelen, stelt u het configuratieregister in op 0x2112. Dit kan ook het opstartproces versnellen.

IP-ingang en CiscoWorks UT-detectie

Met de UT Discovery-functie van CiscoWorks kan de hoeveelheid gratis geheugen zeer klein worden op sommige routers. De opdracht show proc memory kan wijzen op veel geheugen dat in het bezit is van het "IP input" proces. Dit is een bijzonder geval van het probleem Grote hoeveelheid geheugen gebruikt voor normale of abnormale processen voor het "IP-ingang"-proces, dat ook kan leiden tot een probleem met geheugenfragmentatie als de geheugenconditie te wijten is aan een geheugenfragmentatie.

De UT-detectiefunctie zorgt ervoor dat het netwerkbeheerstation een 'sweep' van ping voor alle IP's in elk ontdekt subnetwerkknooppunt verstuurt. De geheugenproblemen worden veroorzaakt door de verhoogde grootte van het IP snel-omschakelende cachegeheugen op de router omdat de nieuwe cacheingangen voor elke nieuwe bestemming worden tot stand gebracht. Aangezien het masker dat voor de ingangen in het cachegeheugen wordt gebruikt afhankelijk is van hoe het wordt subnetted, veroorzaakt de aanwezigheid van een adres met een 32-bits masker (bijvoorbeeld, een loopback adres) in een belangrijk netwerk alle ingangen voor dat netwerk om een 32-bits masker te gebruiken. Dit resulteert in de creatie van een groot aantal cache ingangen en het gebruik van een grote hoeveelheid geheugen.

De beste oplossing is om UT Discovery uit te schakelen. U kunt dit doen met de volgende stappen:

1. Ga naar C:\Program Files\CSCOpx\etc\cwsi\ANIServer.properties.

2. Voeg "UTPingSweep=0" toe.

3. Start ANI opnieuw.

Dit kan ertoe leiden dat de User Tracking-tabel bepaalde eindservers mist of verouderd raakt (dit kan een probleem zijn met een andere Cisco-toepassing, de User Registration Tool, die afhankelijk is van UT), maar het heeft geen invloed op de Campus Discovery die alleen SNMP-verkeer gebruikt. CEF-switching kan deze situatie ook verbeteren (met CEF wordt het IP-cache gemaakt vanaf de routeringstabel bij opstarten). Raadpleeg Hoe u de beste routerswitchingpad voor uw netwerk kiest voor meer informatie over CEF en andere beschikbare switchingpaden.

Er zijn veel andere toepassingen die kunnen leiden tot soortgelijke situaties met weinig geheugen. In de meeste gevallen, is de worteloorzaak van het probleem niet de router, maar de toepassing zelf. Normaal gesproken moet u in staat zijn om die pakketstormen te voorkomen door uw controle van de configuratie van de applicatie.

Niet genoeg gedeeld geheugen voor de interfaces

Sommige routers (bijvoorbeeld 2600, 3600 en 4000 Series) vereisen een minimale hoeveelheid I/O-geheugen om bepaalde interfaceprocessors te ondersteunen.

Als de router laag op gedeeld geheugen loopt, zelfs na een herlading, kunt u de interfaces fysiek verwijderen om dit probleem op te lossen.

Op 3600 Series routers selecteert u de opdracht globale configuratie  memory-size iomem i/o-memory-percentage kan worden gebruikt om het percentage DRAM's te herverdelen dat voor I/O-geheugen en processorgeheugen wordt gebruikt. De toegestane waarden voor het i/o-geheugen-percentage zijn 10, 15, 20 , 25 (de standaardinstelling), 30 , 40 , en 50 . Voor I/O-geheugen is minimaal 4 MB geheugen vereist.

Raadpleeg voor het oplossen van dit probleem:

- Gedeeld geheugen voor de routers 4000/4500/4700.

Buffer-lekbug

Als u de uitvoer van een  show buffers  commando of  show technical-support  de opdracht (in de inschakelmodus) vanaf uw Cisco-apparaat kunt u Output Interpreter gebruiken om potentiële problemen en oplossingen weer te geven.

Opmerking: alleen geregistreerde Cisco-gebruikers hebben toegang tot interne Cisco-informatie en -tools.

Wanneer een proces met een buffer wordt gebeëindigd, moet het proces de buffer bevrijden. Een bufferlek komt voor wanneer de code vergeet om een buffer te verwerken of vergeet om het vrij te maken nadat het met het pakket wordt gedaan. Als gevolg daarvan blijft de bufferpool groeien naarmate steeds meer pakketten in de buffers blijven steken. U kunt een bufferlek identificeren met de show buffers uit. Sommige van de Openbare Buffer zwembaden moeten abnormaal groot zijn met weinig vrije buffers. Na een herladen, kunt u zien dat het aantal vrije buffers nooit dicht bij het aantal totale buffers komt.

Met het gereedschap Output Interpreter kunt u een analyse ontvangen van de show buffers -uitgang.

In het voorbeeld hieronder worden de middelste buffers beïnvloed. Het show buffers  commando geeft aan dat bijna 8094 buffers worden gebruikt en niet vrijgemaakt (8122 totaal min 28 vrij):

Public buffer pools: Small buffers, 104 bytes (total 50, permanent 50):

50 in free list (20 min, 150 max allowed)

403134 hits, 0 misses, 0 trims, 0 created

0 failures (0 no memory)

Middle buffers, 600 bytes (total 8122, permanent 200):

28 in free list (10 min, 300 max allowed)

154459 hits, 41422 misses, 574 trims, 8496 created

Big buffers, 1524 bytes (total 50, permanent 50):

50 in free list (5 min, 150 max allowed)

58471 hits, 0 misses, 0 trims, 0 created

0 failures (0 no memory)

VeryBig buffers, 4520 bytes (total 10, permanent 10):

10 in free list (0 min, 100 max allowed)

0 hits, 0 misses, 0 trims, 0 created

0 failures (0 no memory)

Large buffers, 5024 bytes (total 0, permanent 0)

0 in free list (0 min, 10 max allowed)

0 hits, 0 misses, 0 trims, 0 created

0 failures (0 no memory)

Huge buffers, 18024 bytes (total 0, permanent 0):

0 in free list (0 min, 4 max allowed)

0 hits, 0 misses, 0 trims, 0 created

0 failures (0 no memory)

Dit is een Cisco IOS-softwarebug. Upgrade naar de nieuwste versie van uw release-trein om bekende bufferlekkage-bugs op te lossen (bijvoorbeeld als u Cisco IOS-softwarerelease 11.2(14) gebruikt, upgrade dan naar de nieuwste 11.2(x)-afbeelding. Als dit niet helpt, of als het niet mogelijk is om de router te bevorderen, geef deze volgende bevelen voor de probleempool uit wanneer de router laag op geheugen is. Deze opdrachten kunnen aanvullende informatie over de inhoud van de buffers weergeven:

- show buffer old  toont toegewezen buffers meer dan een minuut oud

- show buffer pool   (small - middle - big - verybig - large - huge)    toont een samenvatting van de buffers voor de opgegeven groep

- show buffer pool (small - middle - big - verybig - large - huge) dump   toont een hex/ASCII dump van alle buffers in gebruik van een gegeven zwembad.

Raadpleeg Bufferlekken voor probleemoplossing voor meer informatie.

Router weinig vaart op snel geheugen

Dit probleem is specifiek voor de 7500-serie. Als de router door "snel" geheugen loopt, kan het zijn belangrijkste Dynamisch RAM (DRAM) gebruiken. Er is geen actie vereist.

IPFAST-4-RADIXDELETE: fout  trying  om prefixvermelding [IP_adres]/[dec] te verwijderen (verwacht [hex], kreeg [hex])

De IPFAST-4-RADIXDELETE: Fout die prefixingang probeert te wissen [IP_address]/[dec] (verwacht [hex], kreeg [hex]) foutmelding wijst erop dat de Routers Fast Switching Cache tabel in geheugen corrupt is. Wanneer de router probeert om de cachetabel onder het normale proces of de clear ip cache de opdracht is ingevoerd, kan het systeem geen items verwijderen vanwege geheugenbeschadiging. Wanneer de router er niet in slaagt om een dergelijke ingang te wissen, wordt het bericht IPFAST-4-RADIXDELETE gemeld.

Om een probleem van de het geheugencorruptie van de cachetabel op te lossen, is een harde reboot van de router nodig. Een reboot kan de systeemgeheugenstructuren opnieuw snijden en de snelle cache toe te staan om zonder corruptie opnieuw op te bouwen.

%SYS-2-CHUNKEXPANDFAIL: Kan chunkpool voor TACL-bitmap niet uitbreiden. Geen geheugen beschikbaar

De reden voor de %SYS-2-CHUNKEXPANDFAIL: Kan de chunkpool voor TACL-bitmap niet uitbreiden. Geen geheugen beschikbaar foutmelding is dat er niet genoeg processorgeheugen over is om de chunk-pool te laten groeien. Het kan veroorzaakt worden door een abnormaal gedrag.

De tijdelijke oplossing is om periodiek (gebaseerd op de frequentie van het probleem) de output van deze opdrachten op te nemen zodat het geheugengebruik van de router kan worden gecontroleerd:

- show processes memory sorted

- show memory statistics

- show memory allocating-process totals

Samenvatting

Geheugentoewijzingsfouten bij de "processor" van de pool

Gebruik de volgende stappen:

1. Controleer de geheugenvereisten voor uw Cisco IOS-softwarerelease versie of functieset.

2. Indien mogelijk, upgrade dan naar de nieuwste Cisco IOS-softwarerelease versie in uw release-trein.

3. Controleer of er een grote hoeveelheid geheugen wordt gebruikt voor normale of abnormale processen. Voeg indien nodig meer geheugen toe.

4. Controleer of dit een lek of een fragmentatie is (bufferlek op high-end routers).

5. Verzamel de relevante informatie en contacteer de TAC.

"I/O"-geheugentoewijzingsfouten in de pool ("Processor" op high-end routers, "PCI" op 7200 Series)

Gebruik de volgende stappen:

1. Controleer de vereisten voor gedeeld geheugen (zie Onvoldoende gedeeld geheugen voor de interfaces).

2. Indien mogelijk, upgrade dan naar de nieuwste Cisco IOS-softwarerelease versie in uw release-trein.

3. Bepaal welke bufferpool wordt beïnvloed, verzamel de relevante informatie en neem contact op met Cisco TAC.

Gerelateerde informatie

- Bufferlekkages probleemoplossing

- Routertools voor probleemoplossing

- Cisco technische ondersteuning en downloads