De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
Dit document beschrijft symptomen en mogelijke oorzaken van geheugentoewijzingsfout (MALLOCFAIL) en geeft aan hoe deze problemen kunnen worden verholpen.
Er zijn geen specifieke vereisten van toepassing op dit document.
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.
Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.
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 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.
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:
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.
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.
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 .
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.
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.
Geheugengrootte ondersteunt de Cisco IOS-softwareafbeelding niet
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
Niet genoeg gedeeld geheugen voor de interfaces
Router die Laag op Snel Geheugen loopt
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:
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.
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 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.
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".
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.
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.
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.
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.
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:
Ga naar C:\Program Files\CSCOpx\etc\cwsi\ANIServer.properties.
Voeg "UTPingSweep=0" toe.
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.
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.
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.
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.
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.
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
Gebruik de volgende stappen:
Controleer de geheugenvereisten voor uw Cisco IOS-softwarerelease versie of functieset.
Indien mogelijk, upgrade dan naar de nieuwste Cisco IOS-softwarerelease versie in uw release-trein.
Controleer of er een grote hoeveelheid geheugen wordt gebruikt voor normale of abnormale processen. Voeg indien nodig meer geheugen toe.
Controleer of dit een lek of een fragmentatie is (bufferlek op high-end routers).
Verzamel de relevante informatie en contacteer de TAC.
Gebruik de volgende stappen:
Controleer de vereisten voor gedeeld geheugen (zie Onvoldoende gedeeld geheugen voor de interfaces).
Indien mogelijk, upgrade dan naar de nieuwste Cisco IOS-softwarerelease versie in uw release-trein.
Bepaal welke bufferpool wordt beïnvloed, verzamel de relevante informatie en neem contact op met Cisco TAC.
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
2.0 |
19-Jan-2023 |
Bijgewerkt formaat, vaste CCW Alerts. Hercertificering. |
1.0 |
02-Nov-2001 |
Eerste vrijgave |