交换机CPU的功能
1.管理已配置的软件协议,例如:
– 生成树协议(STP)
– 路由协议,例如OSPF和EIGRP
– 热备路由协议(HSRP)
– 思科发现协议(CDP)
– 端口聚合协议(PAgP)
– VLAN中继协议(VTP)
– 动态中继协议(DTP)
2.将配置/动态条目编程到硬件ASIC,例如:
– 访问控制列表(ACL)
– CEF条目
3.内部管理各种组件,例如:
– 以太网供电(PoE)线卡
– 电源
– 风扇架
4.管理对交换机的访问,例如:
– Telnet
– 控制台
– 简单网络管理协议(SNMP)
5.通过软件路径转发数据包,例如:
– Internetwork Packet Exchange(IPX)路由的数据包,仅在软件路径中受支持
– 最大传输单元(MTU)分段
查看CPU使用率的常用命令
1.show processes cpu----查看CPU使用率
2.show process cpu sorted----显示进程CPU排序
3.show platform healt----查看哪些平台特定的进程使用CPU
show platform health | exc 0.00----过滤掉0%的
4.show processes cpu sorted | section iosd
IOSd: This is the Cisco IOS daemon that runs on the Linux kernel. It is run as a software process within the kernel.
常见的CPU高利用率问题
常见的CPU高利用率问题
1.由于使用不完整的ARP进行K5L3审核作业而导致的CPU高利用率。如
Switch# show platform health
%CPU %CPU RunTimeMax Priority Average %CPU Total
Target Actual Target Actual Fg Bg 5Sec Min Hour CPU
!--- Output suppressed.
K5L3FlcMan FwdEntry 2.00 27.51 15 14 100 500 25 26 20 4454:02
K5L3Unciast IFE Revi 2.00 31.28 15 10 100 500 26 26 21 4695:14
K5L3UnicastRpf IFE R 2.00 31.41 15 7 100 500 26 26 20 4659:17
2.RSPAN导致CPU使用率高
尽管RSPAN VLAN不会学习任何MAC地址,但是带有未知源MAC的数据包副本仍会发送到CPU并在CPU处丢弃。
Switch# show processes cpu sorted
CPU utilization for five seconds: 93%/7%; one minute: 94%; five minutes: 96%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
49 2095141161223088784 171 84.39% 84.85% 87.07% 0 Cat4k Mgmt LoPri
48 1195120 4781112 249 1.91% 1.86% 1.84% 0 Cat4k Mgmt HiPri
!--- Output suppressed
Switch# show platform cpu packet statistics all
!--- Output suppressed
Packets Dropped In Processing by CPU event
Event Total 5 sec avg 1 min avg 5 min avg 1 hour avg
----------------- -------------------- --------- --------- --------- ----------
Unknown 0 0 0 0 0
Sa Miss 2600617361 17399 15937 12797 12257
3.大量的生成树端口实例:超出了设备支持的生成树端口实例
show processes cpu
CPU utilization for five seconds: 74%/1%; one minute: 73%; five minutes: 50%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
1 4 198 20 0.00% 0.00% 0.00% 0 Chunk Manager
2 4 290 13 0.00% 0.00% 0.00% 0 Load Meter
!--- Output suppressed.
25 488 33 14787 0.00% 0.02% 0.00% 0 Per-minute Jobs
26 90656 223674 405 6.79% 6.90% 7.22% 0 Cat4k Mgmt HiPri
27 158796 59219 2681 32.55% 33.80% 21.43% 0 Cat4k Mgmt LoPri
28 20 1693 11 0.00% 0.00% 0.00% 0 Galios Reschedul
29 0 1 0 0.00% 0.00% 0.00% 0 IOS ACL Helper
30 0 2 0 0.00% 0.00% 0.00% 0 NAM Manager
!--- Output suppressed.
41 0 1 0 0.00% 0.00% 0.00% 0 SFF8472
42 0 2 0 0.00% 0.00% 0.00% 0 AAA Dictionary R
43 78564 20723 3791 32.63% 30.03% 17.35% 0 Spanning Tree
44 112 999 112 0.00% 0.00% 0.00% 0 DTP Protocol
45 0 147 0 0.00% 0.00% 0.00% 0 Ethchnl
show platform health
%CPU %CPU RunTimeMax Priority Average %CPU Total
Target Actual Target Actual Fg Bg 5Sec Min Hour CPU
!--- Output suppressed.
TagMan-RecreateMtegR 1.00 0.00 10 0 100 500 0 0 0 0:00
K2CpuMan Review 30.00 37.62 30 53 100 500 41 33 1 2:12
K2AccelPacketMan: Tx 10.00 4.95 20 0 100 500 5 4 0 0:36
K2AccelPacketMan: Au 0.10 0.00 0 0 100 500 0 0 0 0:00
K2AclMan-taggedFlatA 1.00 0.00 10 0 100 500 0 0 0 0:00
4.ICMP重定向;在同一接口上路由数据包
在同一接口上路由数据包,或在同一L3接口上流量进出,可能会导致交换机进行ICMP重定向。如果交换机知道到最终目的地的下一跳设备与发送设备在同一子网中,则交换机会生成到源的ICMP重定向。重定向消息指示源将数据包直接发送到下一跳设备。该消息表明下一跳设备具有到目的地的更好的路由,比该交换机少一跳的路由。
如下图,PC A与Web服务器通信。PC A的默认网关指向VLAN 100接口IP地址。但是,使Catalyst 4500到达目的地的下一跳路由器与PC A在同一子网中。在这种情况下,最佳路径是直接发送到“路由器”。Catalyst 4500将ICMP重定向消息发送到PCA。该消息指示PC A通过路由器(而不是通过Catalyst 4500)发送发往Web服务器的数据包。但是,在大多数情况下,终端设备不响应ICMP重定向。缺少响应会导致Catalyst 4500在生成这些ICMP重定向时花费大量CPU周期,以实现Catalyst通过与入口数据包相同的接口转发的所有数据包。
缺省情况下,ICMP重定向功能处于启用状态。为了禁用它,请使用no ip icmp redirects命令。在相关的SVI或L3接口下发出命令。
注意: 由于ip icmp redirects是默认命令,因此在show running-configuration命令输出中不可见。
使用show process cpu命令检查Cisco IOS进程。
发出show process cpu命令。您可以看到Cat4k Mgmt LoPri和IP Input这两个主要进程主要使用CPU。仅使用此信息,您就知道IP数据包的处理占用了CPU的很大一部分。
Switch#show processes cpu
CPU utilization for five seconds: 38%/1%; one minute: 32%; five minutes: 32%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
1 0 63 0 0.00% 0.00% 0.00% 0 Chunk Manager
2 60 50074 1 0.00% 0.00% 0.00% 0 Load Meter
3 0 1 0 0.00% 0.00% 0.00% 0 Deferred Events
!--- Output suppressed.
27 524 250268 2 0.00% 0.00% 0.00% 0 TTY Background
28 816 254843 3 0.00% 0.00% 0.00% 0 Per-Second Jobs
29 101100 5053 20007 0.00% 0.01% 0.00% 0 Per-minute Jobs
30 26057260 26720902 975 5.81% 6.78% 5.76% 0 Cat4k Mgmt HiPri
31 19482908 29413060 662 19.64% 18.20% 20.48% 0 Cat4k Mgmt LoPri
!--- Output suppressed.
35 60 902 0 0.00% 0.00% 0.00% 0 DHCP Snooping
36 504625304 645491491 781 72.40% 72.63% 73.82% 0 IP Input
5.主机学习
如果MAC地址表中尚未存在该MAC地址,则Catalyst 4500将学习各种主机的MAC地址。交换引擎将具有新MAC地址的数据包副本转发给CPU。
所有VLAN接口(第3层)都使用机箱基础硬件地址作为其MAC地址。结果,MAC地址表中没有条目,并且发往这些VLAN接口的数据包也不会发送到CPU进行处理。
如果要学习的交换机的新MAC地址过多,则可能导致CPU使用率过高。
show platform cpu packet statistics
Packets Received by Packet Queue
Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Esmp 48613268 38 39 38 39
Control 142166648 74 74 73 73
Host Learning 1845568 1328 1808 1393 1309
show platform cpu packet statistics显示CPU看到许多新的MAC地址。这种情况通常是网络拓扑不稳定的结果。例如,如果生成树拓扑发生更改,则交换机将生成拓扑更改通知(TCN)。在PVST +模式下,TCN的发出将老化时间减少到15秒。如果在该时间段内未学习回地址,则会刷新MAC地址条目。对于快速STP(RSTP)(IEEE 802.1w)或MST(IEEE 802.1s),如果TCN来自另一台交换机,则这些条目将立即过期。此老化会导致重新学习MAC地址。如果拓扑更改很少,这不是主要问题。但是,由于链路抖动,交换机故障或未为PortFast启用的主机端口,拓扑更改可能会过多。大量的MAC表刷新和随后的重新学习可能会导致。根本原因识别的下一步是对网络进行故障排除。交换机将按预期工作,并将数据包发送到CPU以进行主机地址学习。识别并修复导致TCN过多的故障设备。
6.安全ACL的硬件资源不足(TCAM)
Cisco TCAM对已配置的ACL进行编程。TCAM允许在硬件转发路径中应用ACL。无论转发路径中是否包含ACL,都不会影响交换机的性能。无论ACL的大小如何,性能都是恒定的,因为ACL查找的性能是线速的。但是,TCAM是有限的资源。因此,如果配置了过多的ACL条目,则会超出TCAM容量。
当TCAM溢出发生时,将show logging显示此警告消息:
%C4K_HWACLMAN-4-ACLHWPROGERRREASON: (Suppressed 1times) Input(null, 12/Normal) Security: 140 - insufficient hardware TCAM masks.
%C4K_HWACLMAN-4-ACLHWPROGERR: (Suppressed 4 times) Input Security: 140 - hardware TCAM limit, some packet processing will be software switched.
show platform health
25 1046448 110711 9452 0.00% 0.03% 0.00% 0 Per-minute Jobs
26 175803612 339500656 517 4.12% 4.31% 4.48% 0 Cat4k Mgmt HiPri
27 835809548 339138782 2464 86.81% 89.20% 89.76% 0 Cat4k Mgmt LoPri
28 28668 2058810 13 0.00% 0.00% 0.00% 0 Galios Reschedul
show platform cpu packet statistics
!--- Output suppressed.
Packets Received by Packet Queue
Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Control 57902635 22 16 12 3
Host Learning 464678 0 0 0 0
ACL log, unreach 51443268 9 4 5 5
ACL sw processing 842889240 1453 1532 1267 1179
Packets Dropped by Packet Queue
Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
L2 Fwd Low 3270 0 0 0 0
ACL sw processing 12636 0 0 0 0
7.2层转发环路
第2层转发环路可能是由于生成树协议(STP)的实施不当以及可能影响STP的各种问题引起的。
使用show process cpu命令,则可以看到两个主要进程Cat4k Mgmt LoPri和Spanning Tree主要使用CPU。
show processes cpu
CPU utilization for five seconds: 74%/1%; one minute: 73%; five minutes: 50%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
1 4 198 20 0.00% 0.00% 0.00% 0 Chunk Manager
2 4 290 13 0.00% 0.00% 0.00% 0 Load Meter
!--- Output suppressed.
25 488 33 14787 0.00% 0.02% 0.00% 0 Per-minute Jobs
26 90656 223674 405 6.79% 6.90% 7.22% 0 Cat4k Mgmt HiPri
27 158796 59219 2681 32.55% 33.80% 21.43% 0 Cat4k Mgmt LoPri
28 20 1693 11 0.00% 0.00% 0.00% 0 Galios Reschedul
29 0 1 0 0.00% 0.00% 0.00% 0 IOS ACL Helper
30 0 2 0 0.00% 0.00% 0.00% 0 NAM Manager
!--- Output suppressed.
41 0 1 0 0.00% 0.00% 0.00% 0 SFF8472
42 0 2 0 0.00% 0.00% 0.00% 0 AAA Dictionary R
43 78564 20723 3791 32.63% 30.03% 17.35% 0 Spanning Tree
44 112 999 112 0.00% 0.00% 0.00% 0 DTP Protocol
45 0 147 0 0.00% 0.00% 0.00% 0 Ethchnl
show platform health
%CPU %CPU RunTimeMax Priority Average %CPU Total
Target Actual Target Actual Fg Bg 5Sec Min Hour CPU
!--- Output suppressed.
TagMan-RecreateMtegR 1.00 0.00 10 0 100 500 0 0 0 0:00
K2CpuMan Review 30.00 37.62 30 53 100 500 41 33 1 2:12
K2AccelPacketMan: Tx 10.00 4.95 20 0 100 500 5 4 0 0:36
K2AccelPacketMan: Au 0.10 0.00 0 0 100 500 0 0 0 0:00
K2AclMan-taggedFlatA 1.00 0.00 10 0 100 500 0 0 0 0:00
show platform cpu packet statistics
!--- Output suppressed.
Total packet queues 16
Packets Received by Packet Queue
Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Esmp 202760 196 173 128 28
Control 388623 2121 1740 598 16
Packets Dropped by Packet Queue
Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Control 17918 0 19 24 3