In dit document worden de verschillende opties uitgelegd die u kunt gebruiken om kerndumps in Cisco IOS®-software in te schakelen.
Opmerking: Core dumps kunnen moeilijk te verkrijgen zijn. Alleen technisch personeel van Cisco dat toegang heeft tot broncode en gedetailleerde geheugenkaarten, moet proberen kerndumps te interpreteren. Op veel platforms kan het gebruik van de crashinfo-functie kerndumps overbodig maken. Zie Informatie ophalen uit het Crashinfo-bestand voor meer informatie.
Cisco raadt kennis van de volgende onderwerpen aan:
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
Cisco IOS-software versie 12.0 en hoger
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 de potentiële impact van elke opdracht begrijpen.
Wanneer een router crasht, vergeet dan niet om een kopie van de volledige geheugeninhoud van de router te verkrijgen, die bekend staat als een kerndump. Uw technische ondersteuningsvertegenwoordiger gebruikt de kerndump om de oorzaak van de crash te identificeren. De router schrijft de geheugeninhoud naar de server voordat deze opnieuw wordt geladen. Niet alle crashes produceren een kerndump. Voor meer details, zie Soorten crashes.
Leg altijd de consolelogs vast wanneer de router probeert een kern te dumpen. Consolelogs geven informatie over de crash. Bovendien drukt de ROM Monitor (ROMMON) normaal gesproken informatie af naar de console (en alleen naar de console) op het moment van de crash.
Let op: Core dumps zijn niet nodig om de meeste crashgevallen op te lossen. Het maken van een kerndump terwijl de router in een netwerk functioneert, kan de netwerkwerking verstoren. Gebruik de opdrachten in dit document alleen onder leiding van een vertegenwoordiger voor technische ondersteuning.
Er zijn vier basismanieren om de router in te stellen om een kerndump te genereren:
Door middel van FTP (File Transfer Protocol)
Via het Remote Copy Protocol (RCP)
Via een flashdisk
Via het Trivial File Transfer Protocol (TFTP)
Elk van deze methoden gebruikt deze configuratieopdrachten:
grootte van uitzonderingsgebied
Met deze opdracht geeft u de grootte van de regio op voor de geheugenpool voor de uitzonderingstijd. De geheugenpool met uitzondering van de tijd wordt gebruikt in het geval dat het procesgeheugen beschadigd raakt. De parameter size wordt uitgedrukt in bytes en u kunt de grootte configureren van 1024 tot 65536 bytes.
Uitzondering Core-File bestandsnaam [comprimeren]
Deze opdracht geeft een andere naam op voor het kerndumpbestand dan de standaardnaam. Om terug te keren naar de standaardnaam, gebruikt u het geen formulier van deze opdracht.
Voor meer informatie over de opdrachten in dit document, raadpleegt u het Command reference tool (alleen geregistreerde klanten).
Gebruik de opdracht Exception Region-Size om een kleine hoeveelheid geheugen te definiëren die kan dienen als een fallback-pool wanneer de geheugenpool van de processor beschadigd raakt. Dit helpt geheugenfouten te voorkomen tijdens het kerndumpproces. De parameter size wordt uitgedrukt in bytes en u kunt de grootte configureren van 1024 tot 65536 bytes, met een standaardwaarde van 16384 bytes. Configureer de grootte van de uitzonderingsregio als 65536 bytes om de kans op een succesvolle kerndump te vergroten.
Standaard wordt de processor memory core dump geschreven naar een bestand met de naam "hostname-core", waarbij hostnaam de naam van de router is, die de hostname configuratie commando definieert. Als de router beschikt over Input/Output (I/O)-geheugen (bijvoorbeeld de Cisco 7200), kan ook een I/O-geheugenkerndump worden gemaakt, geschreven naar het bestand "hostname-coreiomem".
Gebruik de opdracht Exception Core-file om de standaardbestandsnaam voor de kerndump te overschrijven. Als de bestandsserver een DOS FAT-bestandssysteem heeft, specificeert u geen bestandsnaam van meer dan zes tekens. Als u bijvoorbeeld een router configureert met "exception core-file foobar", is de naam van het processorgeheugen van de kerndump "foobar" en is de naam van de I/O-geheugendump "foobario" (genoeg om u een hint te geven dat u een I/O-geheugendump hebt).
Zorg ervoor dat er voldoende schijfruimte op de bestandsserver is om meerdere volledige kerndumps te houden. U kunt kerndump-bestanden comprimeren met de optie comprimeren.
Opmerking: Comprimeren wordt automatisch toegepast wanneer u kerndump-bestanden naar de Flash-schijf schrijft. Als u RCP gebruikt, wordt de optie comprimeren niet ondersteund.
Opmerking: FTP (File Transfer Protocol) is de aanbevolen methode om een kerndump te configureren.
Als u FTP wilt gebruiken om de router te configureren voor een kerndump, gebruikt u de volgende opdrachten:
ip ftp-gebruikersnaam gebruikersnaam —Met deze opdracht wordt de gebruikersnaam geconfigureerd voor FTP-verbindingen (File Transfer Protocol). Als u de router wilt configureren om anonieme FTP te proberen, gebruikt u de opdracht geen vorm.
ip ftp-wachtwoord - Met deze opdracht wordt het wachtwoord voor de FTP-verbinding geconfigureerd.
uitzonderingsprotocol ftp—Met deze opdracht wordt het protocol geconfigureerd dat wordt gebruikt voor core dump FTP.
uitzonderingsregiogrootte 65536 —Met deze opdracht wordt de gebiedsgrootte geconfigureerd.
exception dump ip-adres —Met deze opdracht wordt het ip-adres geconfigureerd van de server waarnaar de router de kerndump stuurt in geval van een crash.
Opmerking: Om netwerkcongestie te voorkomen, raadt Cisco u ten zeerste aan de router rechtstreeks op de FTP-server aan te sluiten, zonder tussenliggende hops. Als u door een of meer tussenliggende hops moet gaan, moet u mogelijk de opdracht ip ftp source-interface gebruiken om op te geven welke interface moet worden gebruikt om toegang te krijgen tot de FTP-server. Raadpleeg Een router configureren voor het gebruik van FTP-verbindingen voor meer informatie.
Als u de gebruikersnaam en het wachtwoord niet hebt geconfigureerd, probeert de router anonieme FTP.
Wanneer een medewerker van de technische ondersteuning van Cisco u om kerndump-bestanden vraagt, kunt u de kerndump-bestanden naar Cisco sturen via anonieme FTP. De FTP-server is ftp-sj.cisco.com en de directory is / incoming.
Opmerking: De inkomende/inkomende directory is onzichtbaar.
Zorg ervoor dat u de overdrachtsmodus op binair instelt. Als de bestanden nog niet zijn gecomprimeerd, comprimeer ze dan met een gemeenschappelijk compressiehulpprogramma, bijvoorbeeld gzip of zip.
Zorg er ook voor dat u het crashinfo-bestand, indien beschikbaar, samen met de kerndump opneemt. Het crashinfo-bestand is beschikbaar als de hardware of software deze functie ondersteunt. Raadpleeg Informatie ophalen uit het Crashinfo-bestand voor instructies over hoe u dit kunt doen.
Zorg ervoor dat FTP eerst werkt. Gebruik dit voorbeeld:
c7500#copy running-config ftp: Address or name of remote host []? 172.18.125.3 Destination filename [c7500-confg]? Writing c7500-confg ! 2781 bytes copied in 0.944 secs
Als u RCP wilt gebruiken om de router te configureren voor een kerndump, gebruikt u de volgende opdrachten:
ip rcmd remote-username username –Deze opdracht configureert de remote username voor gebruik wanneer u een remote copy aanvraagt via remote copy protocol (RCP).
uitzonderingsprotocol rcp—Met deze opdracht wordt het protocol voor kerndumps geconfigureerd als RCP.
uitzonderingsregiogrootte 65536 —Met deze opdracht wordt de gebiedsgrootte geconfigureerd.
Exception Dump IP-adres
Als u de gebruikersnaam niet hebt geconfigureerd, gebruikt de router de hostnaam als de gebruikersnaam voor RCP.
Opmerking: Om netwerkcongestie te voorkomen, raadt Cisco u ten zeerste aan de router rechtstreeks op de RCP-server aan te sluiten, zonder tussenliggende hops. Als u een of meer tussenliggende hops moet doorlopen, gebruikt u de opdracht ip rcmd source-interface om op te geven welke interface moet worden gebruikt om toegang te krijgen tot de RCP-server. Raadpleeg Een router configureren om rsh en rcp te gebruiken voor meer informatie.
Zorg ervoor dat RCP eerst werkt. Gebruik dit voorbeeld:
c7500#copy running-config rcp: Address or name of remote host []? 172.18.125.3 Destination username [c7500]? Destination filename [c7500-confg]? Writing c7500-confg ! 2781 bytes copied in 0.944 secs
Sommige routerplatforms ondersteunen de Flash-schijf als alternatief voor het lineaire Flash-geheugen of de PCMCIA Flash-kaart. De grote opslagcapaciteit van deze Flash-schijven maakt ze een goed medium om een kerndump vast te leggen. Raadpleeg voor informatie over de routerplatforms en Cisco IOS-softwareversies die de Flash-schijf ondersteunen de Cisco IOS Release Notes .
Opmerking: Wanneer u een kerndump in een Flash-schijf vastlegt, moet u ervoor zorgen dat de Flash-schijf meer opslaggrootte heeft dan het DRAM-geheugen dat de kerndump veroorzaakt. Als u bijvoorbeeld een DRAM-geheugengrootte van 128 MB hebt, moet de Flash-schijf een opslagcapaciteit van meer dan 128MB hebben. Een groter flashdiskgeheugen is nodig om de kerndump correct te krijgen. Als er een geheugentekort is op de Flash-schijf, wordt de kerndump niet gemaakt.
Als u een Flash-schijf wilt gebruiken om een router te configureren voor een kerndump, gebruikt u deze opdracht:
exception flash procmem|iomem|all device_name [:partition_number] !--- This command uses a Flash disk to configure the router for a core dump.
De opdracht Alle apparaten weergeven EXEC vermeldt de apparaten die u kunt gebruiken voor de opdracht Uitzondering Flash.
Vanwege een beperking van de meeste TFTP-toepassingen dumpt de router alleen de eerste 16 MB van het kernbestand. Als het hoofdgeheugen van uw router groter is dan 16 MB, gebruikt u daarom geen TFTP. Raadpleeg Cisco IOS TFTP Client Kan geen bestanden groter dan 16 MB overdragen voor meer informatie.
Als u TFTP wilt gebruiken om een router te configureren voor een kerndump, gebruikt u de volgende opdrachten:
uitzonderingsprotocol tftp—Deze opdracht configureert TFTP als het protocol voor kerndumps.
Afwijkingsregio - grootte 65536
Exception Dump IP-adres
TFTP is het standaardprotocol voor het uitzonderingsprotocol.
Opmerking: Om netwerkcongestie te voorkomen, raadt Cisco u ten zeerste aan de router rechtstreeks op de TFTP-server aan te sluiten, zonder tussenliggende hops. Als u een of meer tussenliggende hops moet doorlopen, gebruikt u de opdracht ip tftp source-interface om op te geven welke interface u moet gebruiken om toegang te krijgen tot de TFTP-server.
Op basis van de gebruikte TFTP-server moet u mogelijk lege doelbestanden maken met de juiste machtigingen voordat de router naar hen kan schrijven.
Zorg ervoor dat TFTP eerst werkt. Gebruik dit voorbeeld:
c7500#copy running-config tftp: Address or name of remote host []? 172.18.125.3 Destination filename [c7500-confg]? ! 2781 bytes copied in 0.944 secs
Gebruik de configuratieopdrachten in deze sectie naast de opdrachten in de sectie Basisinstallatie.
Om een aantal geheugenproblemen op te lossen, kunt u ervoor zorgen dat de router een kerndump maakt en opnieuw opstart in het geval van schending van bepaalde geheugengrootteparameters. Gebruik de volgende commando's voor uitzonderingsgeheugen om een kerndump te activeren:
Minimale grootte van het uitzonderingsgeheugen — Met deze opdracht wordt een crash uitgevoerd als de hoeveelheid vrij processorgeheugen onder de geconfigureerde drempel daalt.
fragmentgrootte van een uitzonderingsgeheugen — Deze opdracht dwingt een crash af als de Cisco IOS-software geen aaneengesloten processorgeheugenblok kan toewijzen dat groter is dan de geconfigureerde drempel.
De parameter size wordt uitgedrukt in bytes en wordt standaard elke 60 seconden gecontroleerd.
Deze opdrachten zorgen er alleen voor dat de router opnieuw wordt opgestart wanneer aan de geconfigureerde voorwaarden is voldaan. Als u ook exception dump of exception flash configureert, maakt de router eerst een core dump. Deze commando's helpen om geheugenlekken te diagnosticeren.
In sommige gevallen vraagt de medewerker van de technische ondersteuning u om foutopsporing in te schakelen wanneer u de kerndump configureert. De debug sanity opdracht is een verborgen opdracht in de meeste Cisco IOS software releases, en is soms nodig om geheugen corruptie, met name I / O geheugen corruptie debuggen. Wanneer u debug sanity inschakelt, voert het systeem een sanity-check uit op elke buffer die wordt toegewezen en voert het een sanity-check uit wanneer de buffer wordt vrijgegeven.
U moet de opdracht debug sanity uitgeven in de geprivilegieerde EXEC-modus (of de modus inschakelen). Hoewel deze opdracht enige CPU-capaciteit gebruikt, heeft debug sanity geen significante invloed op de functionaliteit van de router. Net als andere debug-opdrachten wordt debug sanity niet opgeslagen in de configuratie en overleeft dus geen reboot van het systeem.
Niet alle soorten crashes vereisen dat u debug-gezondheid inschakelt. Gebruik debug sanity alleen wanneer uw technische supportmedewerker u vraagt om deze opdracht in te schakelen.
Om de sanity-checks uit te schakelen, gebruikt u de opdracht undebug sanity privileged EXEC.
Wanneer u de router hebt geconfigureerd voor kerndump, test u de installatie.
Cisco IOS-software biedt de speciale write core-opdracht in de geprivilegieerde EXEC-modus (of enable-modus) om ervoor te zorgen dat de router een kerndump genereert zonder opnieuw te laden.
Als dit lukt, zijn de kerndumpbestanden de grootte van de respectieve geheugengebieden. Vergeet niet dat het hele geheugengebied wordt gedumpt, niet alleen het geheugen dat in gebruik is.
De opdracht write core is ook handig in het geval van een router die niet goed werkt, maar niet is gecrasht.
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
1.0 |
10-Dec-2001
|
Eerste vrijgave |