华为交换机CPU占用率高原因判断和解决方法(二)

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繁忙不能及时接收和发送LACP报文,Eth-Trunk会将链路关闭,产生链路震荡。

5、交换机不能响应正常的管理请求

Telnet或SSH会话不能建立,导致无法管理设备或者设备反应慢,命令执行有延迟等;SNMP超时;MAC/IP Ping耗时很长甚至超时。

6、交换机不能及时转发或回应客户端请求,导致DHCP失败或IEEE 802.1x失败

7、通过CPU软转发的报文被丢弃或转发时延增大

8、设备内存消耗增加

5、排查华为交换机CPU占用率高的步骤

当发现CPU占用率过高时,建议按照“确定现象”、“明确问题”、“确认根因”、“修复故障”的整体思路进行分析,主要涉及以下几个关键点的信息:

CPU占用率升高发生在什么时间?

CPU占用率升高时系统在做什么?

什么因素导致CPU占用率升高?

CPU占用率高是否是正常情况?是否需要修复?如何修复?

6、获取交换机CPU使用情况

设备的CPU占用率指一段时间内系统中非空闲任务占用CPU处理的时间比率,是对设备CPU使用情况的一个宏观统计,具有以下的几个重要特点:

持续变化性:系统的CPU占用率不是保持不变的,它是随着系统的运行和外部环境的变化而持续变化的。

非实时性:系统的CPU占用率反映的是一个CPU统计周期内的CPU使用情况,并不是特指某一个时间点的实时占用情况。

实体强相关性:CPU占用率是以物理CPU为粒度进行统计的,通常而言,系统中的每一个物理实体单元均有一个单独的物理CPU,因此堆叠系统中每台成员交换机的CPU占用率都是相互独立的。

1、获取设备信息。

通过display device命令获取设备信息,如设备型号是什么、是否是堆叠系统、堆叠系统的成员交换机设备有哪些等。

<huawei> display device/<huawei>

S5700-28P-LI-AC's Device status:

Slot Sub Type Online Power Register Status Role

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

0 - S5700-28P-LI Present PowerOn Registered Normal Master

1 - S5700-28P-LI Present PowerOn Registered Normal Standby

2 - S5700-28P-LI Present PowerOn Registered Normal Slave

--------------------------------------------------------------------------------------------------------------------------------------------------------

<huawei> display device/<huawei>

S7712's Device status: Slot Sub Type Online Power Register Status Role

-------------------------------------------------------------------------------

6 - ES0D0X4UXC00 Present PowerOn Registered Normal NA

8 - ES0D0F48TC00 Present PowerOn Registered Normal NA

9 - ES0D0G24SC00 Present PowerOn Registered Normal NA

10 - - Present PowerOff Unregistered - NA

14 - ES0D00SRUA00 Present PowerOn Registered Normal Master

PWR1 - - Present PowerOn Registered Normal NA

CMU1 - LE0DCMUA0000 Present PowerOn Registered Normal Master

FAN1 - - Present PowerOn Registered Normal NA

FAN2 - - Present PowerOn Registered Normal NA

FAN3 - - Present PowerOn Registered Normal NA

FAN4 - - Present PowerOn Registered Normal NA

---------------------------------------------------------------------------------------------------------------------------------------------------

<huawei> display device/<huawei>

S12712's Device status:

Slot Sub Type Online Power Register Status Role

-------------------------------------------------------------------------------

6 - ET1D2S04SX1E Present PowerOn Registered Normal NA

13 - ET1D2MPUA000 Present PowerOn Registered Normal Master

16 - ET1D2SFUA000 Present PowerOn Registered Normal NA

PWR1 - - Present - Unregistered - NA

PWR2 - - Present PowerOn Registered Normal NA

PWR3 - - Present PowerOn Registered Normal NA

PWR4 - - Present PowerOn Registered Normal NA

CMU1 - EH1D200CMU00 Present PowerOn Registered Normal Master

FAN1 - - Present PowerOn Registered Normal NA

FAN2 - - Present PowerOn Registered Normal NA

FAN3 - - Present PowerOn Registered Normal NA

FAN4 - - Present PowerOn Registered Normal NA

FAN5 - - Present PowerOn Registered Normal NA

2、获取CPU占用率统计信息。

通过display cpu-usage [ slave | slot slot-id ]命令查看发生CPU占用率高的设备的CPU占用率统计信息,slot-id在堆叠系统中表示堆叠ID。

<huawei> display cpu-usage slot 0 //s5700的CPU占用率/<huawei>

CPU Usage Stat. Cycle: 60 (Second)

CPU Usage : 99% Max: 100%

CPU Usage Stat. Time : 2014-06-05 15:19:46

CPU utilization for five seconds: 99%: one minute: 75%: five minutes: 42%

Max CPU Usage Stat. Time : 2014-06-05 14:33:36.

TaskName CPU Runtime(CPU Tick High/Tick Low) Task Explanation

ARP 30% 0/bda2b23b ARP

OS 30% 0/b2d02f1f Operation System

L2IF 21% 0/8448bf54 L2IF

IFPD 4% 0/1e575090 IFPD Ifnet Product Adapter

L2_P 3% 0/1a777526 L2_PR

FTS 2% 0/13ed6c3e FTS

IPCQ 2% 0/1256ab6f IPCQIPC task for single queue

STP 2% 0/175350b9 STP

VPR 2% 0/16254e6f VPR VP Receive

mv_rx7 2% 0/123d908c mv_rx7

VIDL 1% 0/ 5f5df6f DOPRA IDLE

mv_rx6 1% 0/ db73d34 mv_rx6

AAA 0% 0/ 1d5c6 AAA Authen Account Authorize

ACL 0% 0/ 5fa8c7 ACL Access Control List

ADPT 0% 0/ 0 ADPT Adapter

AGNT 0% 0/ 0 AGNTSNMP agent task

AGT6 0% 0/ 0 AGT6SNMP AGT6 task

ALM 0% 0/ 0 ALM Alarm Management

ALS 0% 0/ 3c2c178 ALS Loss of Signal

AM 0% 0/ 155db9 AM Address Management

APP 0% 0/ 0 APP

ASFI 0% 0/ 0 ASFI

ASFM 0% 0/ 0 ASFM

BATT 0% 0/ 0 BATT Main Task

BFD 0% 0/ 3d8a91 BFD Bidirection Forwarding

Detect

BOX 0% 0/ 0 BOX Output

BPDU 0% 0/ 1f13d BPDU Adapter

BTRC 0% 0/ 6295 BTRC

CAPM 0% 0/ 0 CAPM Capture Packet

......

---------------------------------------------------------------------------------------------------------------------------------------------------

<huawei> display cpu-usage //S7700的CPU占用率/<huawei>

CPU Usage Stat. Cycle: 60 (Second)

CPU Usage : 18% Max: 90%

CPU Usage Stat. Time : 2015-01-28 15:45:55

CPU utilization for five seconds: 18%: one minute: 15%: five minutes: 15%

Max CPU Usage Stat. Time : 2015-01-27 10:08:10.

TaskName CPU Runtime(CPU Tick High/Tick Low) Task Explanation

VIDL 82% 8/ 4c8b1ff DOPRA IDLE

OS 12% 1/2c684bff Operation System

PMS 2% 0/3319cd96 PMS PM Server

1AGAGT 1% 0/2d284283 1AGAGT

ROUT 1% 0/212518ba ROUTRoute task

TICK 1% 0/19d4a03c

bcmCNTR.0 1% 0/2cc62976 tS16

AAA 0% 0/ 735b5 AAA Authen Account Authorize

ADPT 0% 0/ 0 ADPT

AGNT 0% 0/ 0 AGNTSNMP agent task

AGT6 0% 0/ 0 AGT6SNMP AGT6 task

ALM 0% 0/ 0 ALM Alarm Management

AM 0% 0/ 2c8c6a AM Address Management

AMCP 0% 0/ 87b7ca AMCP

APP 0% 0/ 98c51 APP

APS 0% 0/ d91a3d APS Automatic Protection

Switch

---- More ----

-----------------------------------------------------------------------------------------------------------------------------------

<huawei> display cpu-usage //S12700的CPU占用率/<huawei>

CPU Usage Stat. Cycle: 60 (Second)

CPU Usage : 18% Max: 90%

CPU Usage Stat. Time : 2015-01-28 15:45:55

CPU utilization for five seconds: 18%: one minute: 15%: five minutes: 15%

Max CPU Usage Stat. Time : 2015-01-27 10:08:10.

TaskName CPU Runtime(CPU Tick High/Tick Low) Task Explanation

VIDL 82% 8/ 4c8b1ff DOPRA IDLE

OS 12% 1/2c684bff Operation System

PMS 2% 0/3319cd96 PMS PM Server

1AGAGT 1% 0/2d284283 1AGAGT

ROUT 1% 0/212518ba ROUTRoute task

TICK 1% 0/19d4a03c

bcmCNTR.0 1% 0/2cc62976 tS16

AAA 0% 0/ 735b5 AAA Authen Account Authorize

ADPT 0% 0/ 0 ADPT

AGNT 0% 0/ 0 AGNTSNMP agent task

AGT6 0% 0/ 0 AGT6SNMP AGT6 task

ALM 0% 0/ 0 ALM Alarm Management

AM 0% 0/ 2c8c6a AM Address Management

AMCP 0% 0/ 87b7ca AMCP

APP 0% 0/ 98c51 APP

APS 0% 0/ d91a3d APS Automatic Protection

Switch ---- More ----

3、获取CPU占用率高的告警和日志信息。

当CPU占用率超过告警阈值时,系统会向网管发送告警并将CPU占用率和占用CPU资源最多的3个任务等关键信息记录到系统日志中。可通过这些信息获取CPU占用率过高的相关记录。

3.1、查看CPU占用率过高的告警信息。可以通过网管监控或display trapbuffer命令查看设备的告警信息,查看设备是否产生了CPU占用率过高的告警。相关告警信息为:

ENTITYTRAP_1.3.6.1.4.1.2011.5.25.219.2.14.1 hwCPUUtilizationRising

ENTITYTRAP/4/ENTITYCPUALARM:OID [oid] CPU utilization exceeded the pre-alarm threshold.(Index=[INTEGER],

EntityPhysicalIndex=[INTEGER], PhysicalName=[OCTET], EntityThresholdType=[INTEGER], EntityThresholdValue=[INTEGER],

EntityThresholdCurrent=[INTEGER], EntityTrapFaultID=[INTEGER].)

3.2、查看CPU占用率过高的日志信息。可以通过查看系统日志文件或display logbuffer命令查看设备的日志信息,查看设备是否产生了CPU占用率过高的日志。相关日志信息为:

VOSCPU/4/CPU_USAGE_HIGH

VOSCPU/4/CPU_USAGE_HIGH:The CPU is overloaded (CpuUsage=[ULONG]%, Threshold=[ULONG]%), and the tasks with top three

CPU occupancy are: [CPU-resources-usage]


分享到:


相關文章: