
3、CPU占用率高属于正常现象的场景
在一些网络应用中,CPU占用率较高是正常的。通常情况下,网络规模越大,处理网络流量需要的CPU资源将越多。对于运行堆叠的交换机系统,当管理的成员交换机数量增多时,CPU用于维护和管理堆叠系统状态所需要的资源也会相应增加。设备长时间运行时CPU占用率不超过80%,短时间内CPU占用率不超过95%,可认为设备状态是正常的。
华为交换机在如下一些场景可能导致CPU占用率高,但是属于正常现象,而不是故障场景:
1、生成树
对于MSTP,CPU占用率同实例数和活跃端口数成正比。对于VBST,由于每个VLAN独立运行一个实例,因此在相同VLAN和端口数目下,VBST比MSTP占用更多的CPU资源。
2、更新路由表
当一台三层交换机接收到路由更新消息时,设备需占用CPU资源将路由信息更新到转发面。对于堆叠系统,路由信息还需要同步到其他成员交换机。在路由表更新过程中影响CPU占用率大小的因素有:路由表项的规模;更新的频率;接收更新的路由协议进程数;堆叠系统成员交换机数量。
3、执行命令
部分命令因执行时间长会导致CPU占用率暂时升高,主要包括:用户视图下执行copy flash:/命令;一些输出信息量大的debug命令,尤其是通过串口输出debug信息。
4、导致CPU占用率高的其他事件
端口使能了Sticky MAC功能后,快速学习MAC;将大量端口同时加入大量VLAN(如通过端口组操作,将大批端口加入大量VLAN、修改大批端口的链路类型等);频繁或大量的IGMP请求;频繁的网管操作;大量并发的DHCP请求(如交换机作为DHCP服务器时,同时恢复与大量用户的连接);ARP广播风暴;以太网广播风暴;软转发大量并发协议报文(如短时间内L2PT透传大量BPDU报文,DHCP Relay/Snooping软转发DHCP报文等);大量不能硬件转发的数据报文上送CPU(如ARP-Miss);端口频繁up/down。
4、CPU占用率高对系统的影响
CPU占用率过高会影响系统处理能力,导致网络业务表现不如预期,可能导致出现的网络故障现象有:
1、STP拓扑改变甚至出现网络环路
交换机通过CPU周期性的接收BPDU报文维持其Root/Alternate端口角色,如果因上游设备CPU繁忙导致BPDU报文不能及时发出或本机CPU繁忙不能及时处理收到的BPDU报文,交换机会认为到根桥的原路径故障而重新选择Root端口,引起网络重新收敛;如果交换机原来同时存在Alternate端口,则将Alternate端口作为新的Root端口,这时就可能导致网络出现环路。
2、路由拓扑改变
动态路由协议的保活由CPU完成,如果因CPU繁忙不能及时接收和发送hello报文,就会导致路由震荡,如OSPF震荡、BGP震荡、VRRP震荡。
3、可靠性检测协议震荡
802.3ah、802.1ag、DLDP、BFD、MPLS OAM等检测协议均由CPU完成定时保活(S5700HI通过硬件OAM引擎实现802.1ag、BFD、MPLS OAM的超时探测,其OAM保活不受CPU负荷状态影响),如果因为CPU繁忙不能及时接收和发送协议报文,将会导致协议震荡,进而影响相关业务流量转发。
4、LACP类型的Eth-Trunk链路震荡
LACP的保活由CPU完成,如果因CPU繁忙不能及时接收和发送