交换机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通过与入口数据包相同的接口转发的所有数据包。

  

交换机cpu架构 交换机cpu作用_sed

 

缺省情况下,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