show memory的前两行显示了存储器的一般信息,它表明系统有足够可用的内存。同时它还显示内存中没有碎片,因为在13.03兆字节可用内存中最大的可用块接近11.25兆字节。内存碎片表明内存被划分为了许多不连续的块。它将导致内存的利用率降低,严重时可能产生内存错误从而也严重影响路由器的性能。
现在看一看路由器中有许多内存碎片的情形(如下所示)。此时我们有足够多的可用内存(8.4兆字节),但是其中最大的块仅为0.5兆字节。连续内存中没有足够大的可用块,这有可能导致严重的内存分配问题。这些问题有时表现为一个或多个接口间歇性的丢失报文。此时路由器产生内存碎片错误消息。
HX-Router#sh mem
Head Total(b) Used(b) Free(b) Lowest(b) Largest(b)
Processor 60DB19C0 19195456 10713712 8481744 192680 586748
Fast 60DB19C0 131072 90936 40136 40136 40092
使用命令show memory free,用户可以看到可用内存被划分为许多很小的碎片。需要注意的是,路由器中存在一定数量的内存碎片是正常的。虽然并没有一个很严格的界限来划分内存碎片的可接受程度,但是可用块的大小至少应该不小于可用内存的一半。用户可以通过重新启动路由器来解决这个问题。在重新启动时,系统重新分配内存和缓存空间。此时,用户应该监视内存分配的过程。如果再次发生类似的情况,则应该咨询Cisco TAC。
用户可以使用show process cpu命令检查路由器的CPU是否过载。该命令将给出路由器CPU的利用率,同时显示路由器中不同进程的CPU占用率。在下述示例中,路由器的CPU工作正常。在通常情况下,在5分钟内CPU的平均利用率小于60%是可以接受的。如果怀疑CPU利用率出现了问题,则需要不断地监视这一参数,因为它可能在短时间内发生变化。最好每10秒钟使用一次该命令。通过这种方法,可以清楚地了解CPU利用率的波动情况。
show process memory命令可以用来给出路由器可用内存的一般信息,然后显示每一个进程所占用的内存空间的详细信息。
如果路由器由于临时重启动而完全崩溃,则相应的错误消息将包含在show version命令的输出中。show stack命令用于跟踪路由器的堆栈,提供路由器临时重新启动的原因。如果由于错误而导致重新启动,堆栈记录将在输出的末尾显示。为了抽取与故障相关的信息,堆栈记录需要解码。这一工作通常由Cisco TAC工程师完成。此外,拥有相应CCO登录ID的用户可以通过将show stack命令的输出发送到CCO而获得解码信息。堆栈记录解码的结果有时与Cisco路由器的bug有关。
当用户向Cisco TAC报告故障时,支持技术人员通常要求用户发送show tech_support命令的输出结果。这个命令将导致下述命令的按序执行:Show version、Show controllers、Show buffers、Show interface、Show stack、Show process cpu、Show process memory和Show running-config。这些命令的组合将给出路由器配置以及大多数关键性能参数的详细信息。show tech_support命令的输出对于Cisco TAC技术人员解决复杂网络问题是十分有用。
与接口相关的命令
下面我们将阐述一些直接与路由器活跃接口相关的命令。show ip interface brief将显示每一个路由器接口的IP地址信息以及第二层的状态信息(如下所示)。其他与IP对应的协议的相关性信息可以通过相应命令属性获得,比如show ipx interface brief。
YH-Router#sh ip in brief
Interface IP-Address OK? Method Status Protocol
TokenRing0/0 172.26.12.3 YES NVRAM up up
TokenRing0/1 172.27.12.3 YES NVRAM up up
TokenRing0/2 172.28.12.3 YES NVRAM up up
TokenRing0/3 unassigned YES NVRAM administratively down down
Ethernet1/0 172.30.12.3 YES NVRAM up up
Ethernet1/0 172.31.12.3 YES NVRAM up up
Ethernet1/0 172.32.12.3 YES NVRAM up up
Ethernet1/0 172.33.12.3 YES NVRAM up up
show interface命令可以获得更多的信息。我们以以太网为例来讨论这些通用接口参数。
YH-Router#sh int e1/0
Ethernet1/0 is up,line protcol is up
Hardware is cxBus Ethernet,address is 00e0.f78a.6d40(bia 00e0.f78a.6d40)
Description:seg=E2 LAB SRV1
Internet address is 172.30.12.3/16
MTU 1500bytes,BW 10000Kbit,DLY 1000usec,rely 255/255,load 1/255
Encapsulation ARPA, loopback not set, keepalive set(10sec)
ARP type:ARPA,ARP Timeout 04:00:00
Last input 00:00:00,output 00:00:00,output hang never
Queueing strategy:fifo
Output queue 0/40,44 drops;input queue 0/75,66114 drops
5 minute input rate 181000 bits/sec,23 packets/sec
5 minute output rate 43000 bits/sec,26 packets/sec
525599659 packets input,2042735431 bytes, 0 no buffer
Received 4004547 broadcasts,10 runts,0 giants
139 input errors, 0 CRC, 129 frame, 0 overrun, 0 ignored, 0 abort
0 input packets with dribble condition detected
481020335 packets output, 1069273018 bytes, 47 underruns
20 output errors, 95880485 collisions, 0 interface resets
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier
0 output buffer failures, 0 output buffers swapped out
Lost carrier 表明在计数器最后一次清0后,载波和线路协议发生的故障。此类故障通常与路由器无关。例如,载波丢失可能是因为路由器与集线器之间的电缆连接中断。
Buffer parameters show interface命令还提供与缓冲区分配有关的故障信息,它包括no buffer、overruns、ignored、underruns、buffer failures和swapped out buffers等。
上面,我们详细讨论了show interface命令的用法。这些命令的输出提供了与路由器接口相关以及与传输介质相关的参数等有价值的信息。
show controller命令提供连接到路由器接口物理线路以及传输介质的详细信息。并且提供状态的历史信息。其中一些详细信息很少被使用,它们一般仅被TAC技术人员用于解决十分复杂的问题。
与协议相关的命令
本节将讨论如何使用与不同协议相关的显示命令。
show protocol命令给出了路由器运行的协议信息以及路由这些协议的每一个接口的地址信息(如下所示)。
YH-Router#sh protocol
Global values:
Internet Protocol routing is enabled
Novell routing is enabled
Serial0 is up, line protocol is up
Internet address is 171.137.8.130/25
Novell address is AB890880.0000.30e8.b7c8
Serial1 is administratively down, line protocol is down
TokenRing0 is up, line protocol is up
Internet address is 171.137.6.1/25
Novell address is AB890600.0000.30e8.b7c8
......