STP震荡引起CPU占用率高

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STP震荡引起CPU占用率高相关的知识,希望对你有一定的参考价值。

STP震荡引起CPU占用率高
问题现象描述
一台盒式交换机的CPU占用率过高,交换机输出大量的ARP报文超过CPCAR后丢弃的日志,同时采集端口信息时,发现所有使能STP的端口接收的TC报文计数均在增长。

问题根因说明
端口收到大量的TC报文引起STP震荡,触发大量MAC表项删除、ARP表项刷新,使交换机需要处理大量ARP-Miss、ARP-Request和ARP-Reply报文,导致CPU占用率升高。

问题判断方法

  1. 查看日志,设备上出现CPU占用率过高的日志信息。
    技术图片
  2. 查看日志,设备上还有大量的ARP报文超过CPCAR后丢弃的日志记录。
    技术图片
  3. 采集端口TC(Topology Change)报文收发情况。
    隔几秒执行一次display stp tc-bpdu statistics命令,查看端口TC/TCN报文收发计数,发现所有使能STP的端口,接收的TC报文计数均在增长。
    解决方案
  4. 系统视图下执行stp tc-protection命令,打开TC保护的告警开关。
    打开TC保护告警开关后,可以保证设备频繁收到TC报文时,每2秒周期内最多只处理1次表项刷新,从而减少MAC、ARP表项频繁刷新对设备造成的CPU处理任务过多。
    同时设备会触发MSTP_1.3.6.1.4.1.2011.5.25.42.4.2.15 hwMstpiTcGuarded和MSTP_1.3.6.1.4.1.2011.5.25.42.4.2.16 hwMstpProTcGuarded两个告警。
  5. 系统视图下执行arp topology-change disable命令,去使能设备响应TC报文的功能。
    当设备收到TC报文后,默认会对ARP表项进行老化。执行该命令后,当设备收到TC报文时,不对ARP表项进行老化或删除,避免网络拓扑变化频繁时,设备重新的学习ARP表项造成网络中ARP报文过多,导致设备的CPU占用率过高。
  6. 系统视图下执行mac-address update arp命令,使能MAC刷新ARP功能。
    当设备收到TC报文后,默认会清除MAC表项。执行该命令后,在MAC地址表项出接口刷新时,设备将直接刷新ARP表项的出接口,可以减少大量不必要的ARP表项刷新。
    经验总结
    在处理CPU高的问题时,需要多关注CPCAR丢包情况。

在部署STP时,建议配置TC保护功能,并将所有连接终端的接口配置成边缘端口,这样可以避免某些端口的状态变化引起整个STP网络震荡而重新收敛。

以上是关于STP震荡引起CPU占用率高的主要内容,如果未能解决你的问题,请参考以下文章

如何解决Windows 7系统瞬间CPU高占用率

电脑cpu过高怎么办

cpu占用过高怎么办

为什么我显卡占用率一直是0

cpu占用率

CPU占用率高都有哪些原因