CPU占用率是指一个时间段内CPU执行代码的时间与时间段总长度的比率。CPU占用率常常是衡量设备性能的重要指标之一。
CPU占用率高是设备本身的一种现象,直观表现为display cpu [ slot slot-id ]命令查询结果中整机CPU占用率“System CPU Using Percentage”偏高,例如超过70%。或者产生告警SYSTEM_1.3.6.1.4.1.2011.5.25.129.2.4.1 hwCPUUtilizationRisingAlarm,缺省情况下,CPU占用率超过阈值会产生此告警(V100R005C00及之前版本告警阈值为95%,V100R005C10及之后版本为90%)。在网络运行中CPU占用率高常常会导致其他业务异常,例如BGP振荡、VRRP频繁切换、单板复位等,甚至设备无法登录。
通常情况下,整机CPU占用率过高,是由于某些任务的CPU占用率居高不下导致的。具体导致某任务CPU占用率高的可能原因:
上送CPU报文过多,如环路或DoS报文攻击。STP网络频繁振荡,收到大量TC报文,造成设备频繁删除MAC表和ARP表项。设备产生海量日志,占用大量CPU资源。故障诊断流程详细处理流程如图1所示。图1 CPU占用率高的故障诊断流程图
故障处理步骤请保存以下步骤的执行结果,以便在故障无法解决时快速收集和反馈信息。以下的步骤之间并没有严格的顺序关系,实际操作中并不一定要遵守文中所给的顺序。设备型号、版本不同,以下步骤中命令的显示信息也会有差异,请以设备实际显示信息为准。文中示例旨在告诉读者如何查看相关信息。检查占用CPU高的任务名称。执行命令display cpu,查看主用主控板各任务的CPU占用率。执行命令display cpu slot slot-id,查看指定主控板或接口板上各任务的CPU占用率。记录CPU占用率前三的任务名称。<HUAWEI> display cpu CPU utilization statistics at 2015-10-14 03:05:45 801 ms System CPU Using Percentage : 11% CPU utilization for five seconds: 7%, one minute: 6%, five minutes: 6%. Max CPU Usage : 74% Max CPU Usage Stat. Time : 2015-10-12 01:53:10 697 ms State: Non-overload Overload threshold: 90%, Overload clear threshold: 75%, Duration: 480s --------------------------- ServiceName UseRate --------------------------- SYSTEM 11% AAA 0% ARP 0% CMF 0% DEVICE 0% EUM 0% FEA 0% FIBRESM 0% FEC 0% IFM 0% IP STACK 0% LOCAL PKT 0% MSTP 0% ND 0% NETSTREAM 0% OAM 0% PEM 0% PNP 0% RGM 0% RM 0% SLA 0% SMLK 0% STACKMNG 0% SVRO 0% TNLM 0% TUNNEL 0% VLAN 0% --------------------------- CPU Usage Details ---------------------------------------------------------------- CPU Current FiveSec OneMin FiveMin Max MaxTime ---------------------------------------------------------------- cpu0 16% 11% 9% 10% 81% 2015-10-12 01:53:09 cpu1 15% 9% 6% 6% 61% 2015-10-12 01:53:09 cpu2 8% 4% 5% 5% 76% 2015-10-12 01:53:09 cpu3 5% 4% 4% 5% 78% 2015-10-12 01:53:09 ---------------------------------------------------------------- 常见的CPU占用率高的任务如下表所示。表1 常见的CPU占用率高的任务说明任务名描述IP STACKIP协议栈任务。该任务占用率高,说明CPU收到大量协议报文并进行处理,可能是IP报文攻击导致。如果该任务占用率较高且某块接口板CPU也较高,则可能存在攻击,需要结合接口板进行分析。RM路由模块处理任务。大量路由学习或者路由振荡时,该任务占用率较高,此时需要查看相关路由信息确定路由模块是否存在问题。FEA转发引擎管理任务。进行大量芯片表项添删或底层有大量报文收发时,该任务占用率较高,此时需要查看设备上是否存在业务正在大量配置、触发学习或发生振荡,也可能存在报文攻击。检查是否上送CPU的报文太多。执行命令display cpu-defend statistics all,查看上送CPU的报文的统计信息,关注丢弃计数。<HUAWEI> display cpu-defend statistics all 电脑 Statistics(packets) on slot 4 : -------------------------------------------------------------------------------- PacketType Total Passed Total Dropped Last Dropping Time Last 5 Min Passed Last 5 Min Dropped -------------------------------------------------------------------------------- aaa 0 0 - 0 0 arp 59 0 - 0 0 arp-miss 0 0 - 0 0 bfd 0 0 - 0 0 bgp 0 0 - 0 0 bpdu-tunnel 0 0 - 0 0 dhcp 0 0 - 0 0 dldp 0 0 - 0 0 dns 0 0 - 0 0 dot1x 0 0 - 0 0 efm 0 0 - 0 0 erps 0 0 - 0 0 fcoe 0 0 - 0 0 fib-hit 0 0 - 0 0 ftp 0 0 - 0 0 gmac 0 0 - 0 0 gre 0 0 - 0 0 icmp 0 0 - 0 0 ipsec 0 0 - 0 0 isis 0 0 - 0 0 lacp 0 0 - 0 0 ldt 0 0 - 0 0 lldp 0 0 - 0 0 mpls 0 0 - 0 0 mtu 0 0 - 0 0 multicast 0 0 - 0 0 nd 0 0 - 0 0 netstream 0 0 - 0 0 ntp 0 0 - 0 0 openflow 0 0 - 0 0 ospf 0 电脑 0 - 0 0 rip 0 0 - 0 0 smart-link 0 0 - 0 0 snmp 0 0 - 0 0 stp 265808 0 - 423 0 telnet 0 0 - 0 0 trill 0 0 - 0 0 trill-management 0 0 - 0 0 ttl-expired 0 0 - 0 0 udp-helper 0 0 - 0 0 unknown-multicast 0 0 - 0 0 vrrp 0 0 - 0 0 vxlan-detect 0 0 - 0 0 --------------------------------------------------------------------------------如果某种类型报文“Dropped”计数较大,且对应步骤1中任务CPU占用率较高,可以判断为发生了报文攻击,请执行步骤5。如果没有发现大量上送CPU的报文,请执行步骤3。检查是否收到大量TC报文。支持STP的设备上,在STP使能的情况下,设备在接收到TC-BPDU报文时,会删除MAC地址表项和ARP表项。如果有人伪造TC-BPDU报文恶意攻击,设备短时间内会收到很多TC-BPDU报文,频繁的删除操作会导致CPU占用率比较高。执行命令display stp tc-bpdu statistics,查看接口下收到的TC/TCN报文计数。<HUAWEI> display stp tc-bpdu statistics -------------------------- STP TC/TCN information -------------------------- MSTID Port TC(Send/Receive) TCN(Send/Receive) 0 10GE1/0/3 2/3 0/0 1 10GE1/0/5 1/0 -/- 如果收到的TC/TCN报文计电脑数值很大,则在系统视图下执行命令stp tc-protection配置对TC类型BPDU报文的抑制。配置此命令后,默认每2秒为一单位周期,一个单位周期只处理1次拓扑变化报文。可以根据实际情况通过命令stp tc-protection threshold threshold配置设备在单位周期处理拓扑变化报文的数量阈值,还可以通过命令stp timer hello hello-time修改单位周期的时长。需要注意的是,stp timer hello hello-time命令的参数取值单位是厘秒。<HUAWEI> system-view [~HUAWEI] stp tc-protection [*HUAWEI] stp tc-protection threshold 15 [*HUAWEI] stp timer hello 400 [*HUAWEI] commit如果收到的TC报文数量不多,请执行步骤4。检查网络是否有环路。当设备的某个VLAN中存在环路时,报文会在多个接口之间一直转发,导致CPU占用率上升。执行命令display current-configuration,查看设备是否使能了MAC地址漂移检测功能。缺省情况下,设备已配置了MAC地址漂移检测功能。如果没有,执行命令mac-address flapping detection配置MAC地址漂移检测功能。此时,如果网络中有环路,当设备两个接口学习到同一个MAC时,会产生告警FEI_COMM_1.3.6.1.4.1.2011.5.25.160.3.13 hwMflpVlanLoopAlarm。例如:Oct 13 2015 22:58:24 HUAWEI %%01FEI_COMM/4/hwMflpVlanLoopAlarm(t):CID=0x807f0447-OID=1.3.6.1.4.1.2011.5.25.160.3.13;MAC flapping det ected, VlanId = 1, Original-Port = 10GE4/0/6, Flapping port 1 = 10GE4/0/4, port 2 = -. Check the network connected to the interface learning a flapping MAC address : f84a-bff0-cac2.也可以使用命令display mac-address flapping查看MAC地址漂移的历史记录。<HUAWEI> display mac-address flapping MAC Address Flapping Configurations : ------------------------------------------------------------------------------- Flapping detection : Enable Aging time(s) : 300 Quit-VLAN Recover time(m) : -- Exclude VLAN-list : -- Security level : Middle Exclude BD-list : -- ------------------------------------------------------------------------------- S : start time E : end time (D) : error down ------------------------------------------------------------------------------- Time VLAN MAC Address Original-Port Move-Ports MoveNum /BD ------------------------------------------------------------------------------- S:2014-12-11 11:00:08 3 0000-08cc-2206 10GE1/0/1 10GE1/0/2 120 E:2014-12-11 11:33:13 /- ------------------------------------------------------------------------------- Total items on slot 1: 1 根据提示信息,查看相应的接口连接以及组网需求。如果不需要环网,根据组网图,将其中一个接口做Shutdown处理。如果需要环网,则关闭MAC FLAPPING告警功能,并启动STP等破环协议。如果设备已使能了MAC地址漂移检测功能,但是没有告警或历史记录,请执行步骤5。检查设备是否产生海量日志。某些异常情况下如受到攻击、运行中发生了错误、端口频繁Up/Down等,设备会不停打印诊断信息或日志信息。此时对存储器要进行频繁的读写操作,会造成CPU占用率升高。执行命令display logbuffer,查看是否有大量的异常日志,例如某一条信息不断地大量重复出现。如果是,执行步骤6。请收集如下信息,并联系技术支持人员。上述步骤的执行结果。设备的配置文件、日志信息、告警信息。相关告警与日志相关告警
SYSTEM_1.3.6.1.4.1.2011.5.25.129.2.4.1 hwCPUUtilizationRisingAlarm相关日志
无
电脑