Questo documento spiega le diverse opzioni che è possibile utilizzare per abilitare i core dump nel software Cisco IOS®.
Nota: può essere difficile ottenere i dump del core. Solo il personale tecnico Cisco che ha accesso al codice sorgente e alle mappe di memoria dettagliate deve tentare di interpretare i dump della memoria principale. Su molte piattaforme, l'uso della funzione crashinfo può rendere superflui i dump del core. per ulteriori informazioni, fare riferimento a Recupero di informazioni dal file Crashinfo.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Software Cisco IOS versione 12.0 e successive
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Quando un router si blocca, ricordarsi di ottenere una copia dell'intero contenuto di memoria del router, noto come core dump. Il rappresentante del supporto tecnico utilizza il dump del core per identificare la causa del guasto. Il router scrive il contenuto della memoria sul server prima di un ricaricamento. Non tutti gli arresti anomali generano un dump del core. Per ulteriori informazioni, vedere Tipi di arresto anomalo del sistema.
Acquisire sempre i log della console quando il router tenta di eseguire il dump di un core. I registri della console forniscono informazioni sull'arresto anomalo. Inoltre, in genere il ROM Monitor (ROMMON) stampa le informazioni sulla console (e solo sulla console) al momento dell'arresto anomalo.
Attenzione: i dump del core non sono necessari per risolvere la maggior parte dei casi di arresto anomalo. La creazione di un dump del core mentre il router funziona in una rete può interrompere il funzionamento della rete. I comandi descritti in questo documento possono essere utilizzati solo da un responsabile del supporto tecnico.
Per configurare il router in modo da generare un dump del core, è possibile procedere in quattro modi:
FTP (File Transfer Protocol)
Tramite RCP (Remote Copy Protocol)
Tramite disco flash
Tramite il protocollo TFTP (Trivial File Transfer Protocol)
Ognuno di questi metodi utilizza i seguenti comandi di configurazione:
dimensione area eccezione
Questo comando specifica le dimensioni della regione per il pool di memoria in fase di eccezione. Il pool di memoria del tempo di eccezione viene utilizzato nel caso in cui la memoria del processo risulti danneggiata. Il parametro size è espresso in byte ed è possibile configurare le dimensioni da 1024 a 65536 byte.
exception core-file filename [compress]
Questo comando specifica un nome per il file di dump del core diverso dal nome predefinito. Per ripristinare il nome predefinito, utilizzare la forma no di questo comando.
Per ulteriori informazioni sui comandi menzionati in questo documento, consultare lo strumento di riferimento per i comandi (solo utenti registrati).
Utilizzare il comando exception region-size per definire una piccola quantità di memoria da utilizzare come pool di fallback quando il pool di memoria del processore si danneggia. In questo modo è possibile evitare errori di memoria durante il processo di dump del core. Il parametro size è espresso in byte ed è possibile configurare le dimensioni da 1024 a 65536 byte, con un valore predefinito di 16384 byte. Configurare la dimensione dell'area di eccezione come 65536 byte per aumentare le probabilità di un dump di core riuscito.
Per impostazione predefinita, il dump del core di memoria del processore viene scritto in un file denominato "hostname-core", dove hostname è il nome del router definito dal comando di configurazione hostname. Se il router dispone di memoria di input/output (I/O) (ad esempio, Cisco 7200), è possibile creare anche un dump del core di memoria di I/O, scritto nel file "hostname-coreiomem".
Utilizzare il comando exception core-file per ignorare il nome file di dump predefinito. Se il file server dispone di un file system FAT DOS, non specificare un nome di file più lungo di sei caratteri. Ad esempio, se si configura un router con "exception core-file foobar", il nome della memoria del processore del dump del core è "foobar" e il nome del dump della memoria di I/O è "foobario" (sufficiente per darvi l'idea di avere un dump della memoria di I/O).
Verificare che lo spazio su disco nel file server sia sufficiente per contenere più dump di core completi. L'opzione comprimi consente di comprimere i file di dump del core.
Nota: Compress si applica automaticamente quando scrivete i file di dump dei core sul disco Flash. Se si utilizza RCP, l'opzione di compressione non è supportata.
Nota: il protocollo FTP (File Transfer Protocol) è il metodo consigliato per configurare un dump della memoria.
Per utilizzare l'FTP per configurare il router per un dump principale, utilizzare questi comandi:
ip ftp nomeutente nomeutente - Questo comando configura il nome utente per le connessioni FTP (File Transfer Protocol). Per configurare il router in modo che tenti l'FTP anonimo, utilizzare la forma no di questo comando.
ip ftp password password - Questo comando configura la password per la connessione FTP.
exception protocol ftp: questo comando configura il protocollo utilizzato per il dump core FTP.
exception region-size 65536: questo comando configura le dimensioni della regione.
exception dump ip-address: questo comando configura l'indirizzo ip del server a cui il router invia il dump di base in caso di arresto anomalo del sistema.
Nota: per evitare la congestione della rete, Cisco consiglia di connettere il router direttamente al server FTP, senza hop intermedi. Se è necessario esaminare uno o più hop intermedi, potrebbe essere necessario usare il comando ip ftp source-interface per specificare l'interfaccia da usare per accedere al server FTP. per ulteriori informazioni, fare riferimento a Configurazione di un router per l'utilizzo delle connessioni FTP.
Se il nome utente e la password non sono stati configurati, il router tenta di utilizzare l'FTP anonimo.
Quando un rappresentante del supporto tecnico Cisco richiede i file di dump del core, è possibile inviare i file di dump del core a Cisco tramite FTP anonimo. Il server FTP è ftp-sj.cisco.com e la directory è /in ingresso.
Nota: la directory /incoming non è visibile.
Assicurarsi di impostare la modalità di trasferimento su Binary. Se i file non sono già compressi, comprimerli con una comune utilità di compressione, ad esempio gzip o zip.
Accertarsi inoltre di includere il file crashinfo, se disponibile, insieme al dump del core. Il file crashinfo è disponibile se l'hardware o il software supporta questa funzione. Fare riferimento a Recupero di informazioni dal file Crashinfo per istruzioni su come eseguire questa operazione.
Accertatevi prima che l'FTP funzioni. Utilizzare questo esempio:
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
Per utilizzare RCP per configurare il router per un dump del core, utilizzare questi comandi:
ip rcmd nomeutente-remoto nomeutente-Questo comando configura il nome utente remoto da utilizzare quando si richiede una copia remota tramite il protocollo RCP (Remote Copy Protocol).
exception protocol rcp: questo comando configura il protocollo utilizzato per i dump di base come RCP.
exception region-size 65536: questo comando configura le dimensioni della regione.
exception dump ip-address
Se il nome utente non è stato configurato, il router utilizzerà il proprio nome host come nome utente per RCP.
Nota: per evitare la congestione della rete, Cisco consiglia di connettere il router direttamente al server RCP, senza hop intermedi. Se è necessario esaminare uno o più hop intermedi, usare il comando ip rcmd source-interface per specificare l'interfaccia da usare per accedere al server RCP. Per ulteriori informazioni, fare riferimento a Configurazione di un router per l'utilizzo di rsh e rcp.
Verificare prima che RCP funzioni. Utilizzare questo esempio:
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
Alcune piattaforme di router supportano il disco Flash come alternativa alla memoria flash lineare o alla scheda flash PCMCIA. La grande capacità di storage di questi dischi Flash li rende un ottimo supporto per acquisire una copia di memoria di base. Per informazioni sulle piattaforme del router e sulle versioni del software Cisco IOS che supportano il disco flash, consultare le note di rilascio di Cisco IOS.
Nota: quando acquisite un dump del core in un disco Flash, dovete assicurarvi che il disco Flash abbia una dimensione di memoria maggiore rispetto alla memoria DRAM che causa il dump del core. Ad esempio, se la memoria DRAM è di 128 MB, la capacità di memorizzazione del disco Flash deve essere superiore a 128 MB. È necessaria una memoria flash più grande per ottenere correttamente il dump del core. In caso di carenza di memoria sul disco flash, la memoria di base non viene creata.
Per utilizzare un disco flash per configurare un router per un dump di base, utilizzare questo comando:
exception flash procmem|iomem|all device_name [:partition_number] !--- This command uses a Flash disk to configure the router for a core dump.
Il comando show flash all EXEC elenca i dispositivi che è possibile usare per il comando exception flash.
A causa di una limitazione della maggior parte delle applicazioni TFTP, il router scarica solo i primi 16 MB del file principale. Pertanto, se la memoria principale del router è più grande di 16 MB, non utilizzare il protocollo TFTP. Per ulteriori informazioni, fare riferimento a Cisco IOS TFTP Client Cannot Transfer Files Large oltre 16MB in Size (Il client TFTP Cisco IOS non è in grado di trasferire file di dimensioni superiori a 16 MB).
Per utilizzare il protocollo TFTP per configurare un router per un dump del core, utilizzare questi comandi:
exception protocol tftp: questo comando configura il protocollo TFTP come protocollo per i dump di base.
dimensione area eccezione 65536
exception dump ip-address
TFTP è il protocollo predefinito per il protocollo delle eccezioni.
Nota: per evitare la congestione della rete, Cisco consiglia di connettere il router direttamente al server TFTP, senza hop intermedi. Se è necessario passare attraverso uno o più hop intermedi, usare il comando ip tftp source-interface per specificare l'interfaccia da usare per accedere al server TFTP.
Sulla base del server TFTP utilizzato, potrebbe essere necessario creare file di destinazione vuoti con le autorizzazioni appropriate prima che il router possa scrivervi.
Accertarsi che il protocollo TFTP funzioni prima. Utilizzare questo esempio:
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
Utilizzare i comandi di configurazione illustrati in questa sezione in aggiunta ai comandi illustrati nella sezione Installazione di base.
Per eseguire il debug di alcuni problemi di memoria, è possibile fare in modo che il router crei un dump della memoria e si riavvii in caso di violazione di alcuni parametri relativi alle dimensioni della memoria. Utilizzare questi comandi di memoria delle eccezioni per attivare un dump del core:
dimensioni minime memoria eccezione: questo comando forza un arresto anomalo se la quantità di memoria libera del processore scende al di sotto della soglia configurata.
exception memory fragment size (dimensioni del frammento di memoria eccezione) - Questo comando forza un crash se il software Cisco IOS non può allocare un blocco di memoria del processore contiguo più grande della soglia configurata.
Il parametro size viene espresso in byte e viene controllato ogni 60 secondi per impostazione predefinita.
Questi comandi causano il riavvio del router solo quando vengono soddisfatte le condizioni configurate. Se si configura anche il dump dell'eccezione o il flash dell'eccezione, il router crea prima un dump di base. Questi comandi aiutano a diagnosticare le perdite di memoria.
In alcuni casi, il rappresentante del supporto tecnico richiede di abilitare l'integrità debug quando si configura il dump del core. Il comando debug sanity è un comando nascosto nella maggior parte delle versioni del software Cisco IOS e a volte è necessario per eseguire il debug dei danneggiamenti della memoria, in particolare dei danneggiamenti della memoria I/O. Quando si abilita la sanità mentale del debug, il sistema esegue un controllo di integrità su ogni buffer allocato ed esegue nuovamente un controllo di integrità quando il buffer viene liberato.
Il comando debug sanity deve essere eseguito in modalità di esecuzione privilegiata (o in modalità di abilitazione). Sebbene questo comando utilizzi una certa capacità della CPU, la funzionalità di debug non influisce in modo significativo sulla funzionalità del router. Come altri comandi debug, la integrità fisica del debug non viene salvata nella configurazione e quindi non rimane attiva dopo il riavvio del sistema.
Non tutti i tipi di arresti anomali richiedono l'abilitazione dell'integrità debug. Utilizzare debug sanity solo quando il rappresentante del supporto tecnico richiede di abilitare questo comando.
Per disabilitare i controlli di integrità fisica, usare il comando undebug sanity in modalità di esecuzione privilegiata.
Dopo aver configurato il router per il dump del core, verificare la configurazione.
Il software Cisco IOS fornisce lo speciale comando write core in modalità di esecuzione privilegiata (o modalità di abilitazione) per fare in modo che il router generi un dump del core senza un ricaricamento.
Se l'operazione ha esito positivo, i file di dump di base sono delle dimensioni delle rispettive aree di memoria. Tenere presente che viene scaricata l'intera area di memoria, non solo la memoria in uso.
Il comando write core è utile anche nel caso di un router che non funziona correttamente, ma non si è arrestato in modo anomalo.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
24-Jun-2008 |
Versione iniziale |