交換機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