简介
本文档介绍如何对路由器崩溃进行故障排除。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
系统崩溃是指系统检测到不可恢复的错误并重新启动了自己。 引起崩溃的错误通常是由处理器硬件检测的,处理器硬件在 ROM 监视器中自动派生出特殊的错误处理代码。ROM 监视器可以识别错误,打印消息,保存故障信息并重新启动系统。
获取有关崩溃的信息
如果路由器崩溃,则在手动重新载入路由器或为其重新通电之前,尽可能多地收集有关崩溃的信息极为重要。有关崩溃的所有信息,但已成功存储在 crashinfo
文件,在手动重新加载或重新通电后丢失。这些输出提供有关崩溃的一些指示和信息。
如果您有 show version
, show stacks
, show context
,或 show tech support
命令,您可以使用Cisco CLI分析器显示潜在问题和解决方法。要使用Cisco CLI分析器,您必须登录并启用JavaScript。
注意:只有注册的思科用户才能访问内部思科工具和信息。
命令 |
描述 |
show version |
此命令首先出现在Cisco IOS®软件版本10.0中。此 show version EXEC 命令可显示系统硬件的配置、软件版本、配置文件和软件映像的名称和来源、路由器运行时间以及如何重新启动系统的信息。重要信息:如果路由器在崩溃后重新加载(例如,如果路由器已重新通电或已发出reload 命令),此信息可能会丢失,因此请尝试在重新加载之前收集它! |
show stacks |
此命令最早出现于 Cisco IOS 软件版本 10.0。此 show stacks EXEC 命令用于监控进程和中断例程的堆栈使用情况。此 show stacks 当路由器崩溃时,输出是收集信息的最不可或缺的来源之一。重要信息:如果路由器在崩溃后重新加载(例如,通过重新通电或reload命令),此信息可能会丢失,因此请尝试在重新加载之前收集它! |
show context |
此命令最早出现于 Cisco IOS 软件版本 10.3。此 show context EXEC 命令用于在发生异常时显示存储在非易失性RAM(NVRAM)中的信息。上下文信息是处理器和基础结构所特定的,而软件版本和运行时间信息则不是。因此,不同路由器类型的上下文信息可能会有所不同。显示的输出来自 show context 命令包括:
- 系统重启原因。
- 堆栈跟踪。
- 软件版本。
- 信号编号、代码和路由器正常运行时间信息。
- 崩溃时的所有注册内容。
|
show tech-support |
此命令最早出现于 Cisco IOS 软件版本 11.2。此命令可帮助您在报告问题时收集有关路由器的常规信息。此命令包括:
show version
show running-config
show stacks
show interface
show controller
show process cpu
show process memory
show buffers
|
console log |
如果在崩溃时连接到路由器的控制台,则可以在崩溃期间看到如下内容: *** System received a Software forced crash ***
signal= 0x17, code= 0x24, context= 0x619978a0
PC = 0x602e59dc, Cause = 0x4020, Status Reg = 0x34008002
DCL Masked Interrupt Register = 0x000000f7
DCL Interrupt Value Register = 0x00000010
MEMD Int 6 Status Register = 0x00000000
保存此信息以及此前的日志。路由器再次启动后,不要忘记获取 show stacks 输出。 |
syslog |
如果路由器设置为将日志发送到系统日志服务器,您可以看到有关系统日志服务器崩溃之前所发生情况的一些信息。但是,当路由器崩溃时,它无法将最有用的信息发送到此syslog服务器。所以大多数时候, syslog 输出对于排除崩溃故障不是很有用。 |
crashinfo |
crashinfo 文件包含有关当前崩溃的有用信息,这些信息保存在 bootflash 或 flash 存储器中。当路由器由于数据或堆栈损坏而崩溃时,调试此类崩溃需要更多的重新加载信息,而不仅仅是正常情况下的输出 show stacks 命令。此 crashinfo 默认情况下写入 bootflash:crashinfo 在Cisco 12000千兆路由器处理器(GRP)、Cisco 7000和7500路由交换机处理器(RSP)和Cisco 7200系列路由器上。对于Cisco 7500通用接口处理器2(VIP2),该文件默认存储为 bootflash:vip2_slot_no_crashinfo slot_no 是VIP2插槽编号。对于Cisco 7000路由处理器(RP),该文件默认存储为 flash:crashinfo .有关详细信息,请参阅从 Crashinfo 文件检索信息。 |
core dump |
核心转储是路由器内存映像的完整副本。此信息对于排除大多数崩溃类型故障不是必需的,但在记录新故障时,最好使用此信息。您需要启用某些调试以将更多信息添加到核心转储中,例如debug sanity、scheduler heapcheck process和memory check-interval 1。有关详细信息,请参阅创建核心转储。 |
rom monitor |
当路由器的config-register设置以0结尾时,路由器在崩溃后可能进入ROM监控器。如果处理器是68k,则提示符可以是“>”。可通过 k 命令获取堆栈跟踪。如果处理器是缩减指令集计算(RISC),则提示符可以 rommon 1> .获取 stack 50 或 show context . |
崩溃类型
此 show version
和 show stacks
命令提供的输出可指示所发生的崩溃类型,例如总线错误或软件强制崩溃。您还可以从获取崩溃类型信息 crashinfo
和 show context
命令。对于某些更高的Cisco IOS软件版本,崩溃原因并未明确说明(例如,您会看到Signal = x,其中x是一个数字)。请参阅通用接口处理器崩溃原因代码,将此编号转换成有意义的东西。例如,Signal = 23转换为软件强制崩溃。使用以下链接对路由器所经历的特定类型的崩溃进行故障排除:
请参阅处理器内存奇偶校验错误(PMPE)了解以下问题:
有关以下问题,请参阅导致路由器通过Abort或Trace Trap命令重新启动的原因:
有关这些问题的信息,请参阅系统崩溃的不常见类型:
路由器模块崩溃
有时只是特定的路由器模块崩溃,而不是路由器本身崩溃。以下的一些介绍如何对某些路由器模块崩溃进行故障排除的文档:
指示崩溃的输出示例
Router#show version
Cisco Internetwork Operating System Software
Cisco IOS (tm) RSP Software (RSP-PV-M), Version 12.0(10.6)ST, EARLY DEPLOYMENT
MAINTENANCE INTERIM SOFTWARE
Copyright (c) 1986-2000 by cisco Systems, Inc.
Compiled Fri 23-Jun-00 16:02 by richv
Image text-base: 0x60010908, data-base: 0x60D96000
ROM: System Bootstrap, Version 12.0(19990806:174725), DEVELOPMENT SOFTWARE
BOOTFLASH: RSP Software (RSP-BOOT-M), Version 12.0(9)S, EARLY DEPLOYMENT
RELEASE SOFTWARE (fc1)
Router uptime is 20 hours, 56 minutes
System returned to ROM by error - a Software forced crash, PC 0x60287EE8
System image file is "slot0:rsp-pv-mz.120-10.6.ST"
cisco RSP8 (R7000) processor with 131072K/8216K bytes of memory.
R7000 CPU at 250Mhz, Implementation 39, Rev 1.0, 256KB L2, 2048KB L3 Cache
Last reset from power-on
G.703/E1 software, Version 1.0.
G.703/JT2 software, Version 1.0.
X.25 software, Version 3.0.0.
Chassis Interface.
1 EIP controller (6 Ethernet).
1 VIP2 R5K controller (1 FastEthernet)(2 HSSI).
6 Ethernet/IEEE 802.3 interface(s)
1 FastEthernet/IEEE 802.3 interface(s)
2 HSSI network interface(s)
2043K bytes of non-volatile configuration memory.
20480K bytes of Flash PCMCIA card at slot 0 (Sector size 128K).
16384K bytes of Flash internal SIMM (Sector size 256K).
No slave installed in slot 7.
Configuration register is 0x2102
Router#show stacks
Minimum process stacks:
Free/Size Name
5188/6000 CEF Reloader
9620/12000 Init
5296/6000 RADIUS INITCONFIG
5724/6000 MDFS Reload
2460/3000 RSP memory size check
8176/9000 DHCP Client
Interrupt level stacks:
Level Called Unused/Size Name
1 163 8504/9000 Network Interrupt
2 14641 8172/9000 Network Status Interrupt
3 0 9000/9000 OIR interrupt
4 0 9000/9000 PCMCIA Interrupt
5 5849 8600/9000 Console Uart
6 0 9000/9000 Error Interrupt
7 396230 8604/9000 NMI Interrupt Handler
System was restarted by error - a Software forced crash, PC 0x602DE884 at 05:07:31
UTC Thu Sep 16 1999
RSP Software (RSP-JSV-M), Version 12.0(7)T, RELEASE SOFTWARE (fc2)
Compiled Mon 06-Dec-99 19:40 by phanguye
Image text-base: 0x60010908, database: 0x61356000
Stack trace from system failure:
FP: 0x61F73C30, RA: 0x602DE884
FP: 0x61F73C30, RA: 0x6030D29C
FP: 0x61F73D88, RA: 0x6025E96C
FP: 0x61F73DD0, RA: 0x6026A954
FP: 0x61F73E30, RA: 0x602B94BC
FP: 0x61F73E48, RA: 0x602B94A8
当bootflash中存在crashinfo时,此信息会显示在 show stacks
指令:
***************************************************
******* Information of Last System Crash **********
***************************************************
Using bootflash:crashinfo_20000323-061850. 2000
CMD: 'sh int fas' 03:23:41 UTC Thu Mar 2 2000
CMD: 'sh int fastEthernet 6/0/0' 03:23:44 UTC Thu Mar 2 2000
CMD: 'conf t' 03:23:56 UTC Thu Mar 2 2000
CMD: 'no ip cef di' 03:23:58 UTC Thu Mar 2 2000
CMD: 'no ip cef distributed ' 03:23:58 UTC Thu Mar 2 2000
...
Router#show context
System was restarted by error - a Software forced crash, PC 0x602DE884 at
05:07:31 UTC Thu Sep 16 1999
RSP Software (RSP-JSV-M), Version 12.0(7)T, RELEASE SOFTWARE (fc2)
Compiled Mon 06-DEC-99 19:40 by phanguye
Image text-base: 0x60010908, database: 0x61356000
Stack trace from system failure:
FP: 0x61F73C30, RA: 0x602DE884
FP: 0x61F73C30, RA: 0x6030D29C
FP: 0x61F73D88, RA: 0x6025E96C
FP: 0x61F73DD0, RA: 0x6026A954
FP: 0x61F73E30, RA: 0x602B94BC
FP: 0x61F73E48, RA: 0x602B94A8
Fault History Buffer:
RSP Software (RSP-JSV-M), Version 12.0(7)T, RELEASE SOFTWARE (fc2)
Compiled Mon 06-DEC-99 19:40 by phanguye
Signal = 23, Code = 0x24, Uptime 3w0d
$0 : 00000000, AT : 619A0000, v0 : 61990000, v1 : 00000032
a0 : 6026A114, a1 : 61A309A4, a2 : 00000000, a3 : 00000000
t0 : 61F6CD80, t1 : 8000FD88, t2 : 34008700, t3 : FFFF00FF
t4 : 00000083, t5 : 3E840024, t6 : 00000000, t7 : 00000000
s0 : 0000003C, s1 : 00000036, s2 : 00000000, s3 : 61F73C48
s4 : 00000000, s5 : 61993A10, s6 : 61982D00, s7 : 61820000
t8 : 0000327A, t9 : 00000000, k0 : 61E48C4C, k1 : 602E7748
gp : 6186F3A0, sp : 61F73C30, s8 : 00000000, ra : 6030D29C
EPC : 602DE884, SREG : 3400E703, Cause : 00000024
Error EPC : BFC00000, BadVaddr : 40231FFE
建立 TAC 服务请求时要收集的信息
如果您在完成故障排除步骤后仍然需要帮助,并且希望通过Cisco TAC打开服务请求,请确保在排除路由器崩溃故障时包含以下信息:
- 在建立服务请求之前执行的故障排除。
show technical-support
输出(如果可能,在启用模式下)。
show log
输出或控制台捕获(如果可用)。
- crashinfo文件(如果存在,且尚未包含在
show technical-support
输出)。
- show region输出(如果尚未包含在
show technical-support
输出)。
请将收集到的数据以未压缩的纯文本格式 (.txt) 附加到服务请求中。如果无法访问该服务请求工具,请将服务请求相关信息以电子邮件附件形式发送到 attach@cisco.com,并在消息标题栏中注明案例编号。
注意:除非需要排除路由器崩溃故障,否则不要在收集信息之前手动重新加载或重新启动路由器。这可能会导致重要信息丢失,这些信息是确定问题根本原因所必需的。
相关信息