CPU占用率高的定位思路

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CPU 占用率高的定位思路
常见原因
CPU 占用率,就是一个时间段内,CPU 执行代码的时间与时间段总长度的比率。

CPU
占用率常常是衡量设备性能的重要指标之一。

CPU 占用率高,是设备本身的一种现象,直观表现为display cpu-usage 命令查询结果中
整机CPU 占用率“CPU usage”偏高,如超过70%。

或者产生告警
basetrap_1.3.6.1.4.1.2011.5.25.129.2.4.1 hwCPUUtilizationRisingAlarm,默认超过90% 会产生此告警。

但是在网络运行中CPU 高常常会导致其他业务异常,如BGP震荡、
VRRP频繁切换、单板复位、甚至设备无法登录。

业务异常的故障,请根据具体表现查
看相应的故障处理章节。

以下讨论的原因及步骤基于CPU 占用率高这个现象。

通常,整机CPU 占用率过高,是由于某些任务的CPU 占用率居高不下导致的。

具体导
致某任务CPU 占用率高的可能原因:
l 上送CPU 报文过多,如环路或DoS 报文攻击
l STP网络频繁震荡,收到大量TC 报文,造成设备频繁删除MAC表和ARP 表项
l 设备产生海量日志,占用大量CPU 资源
故障诊断流程
详细处理流程如图3-1 所示。

图3-1 CPU 占用率高故障诊断流程图
故障处理步骤
说明
请保存以下步骤的执行结果,以便在故障无法解决时快速收集和反馈信息。

以下的步骤之间并没有严格的顺序关系,实际操作中并不一定要遵守文中所给的顺序。

设备型号不同,以下步骤中命令的显示信息也会有差异,请以设备实际显示信息为准。

文中示例旨在告诉读者如何查看相关信息。

操作步骤
步骤1 检查占用CPU 高的任务名称
执行命令display cpu-usage,查看主用主控板各任务的CPU 占用率。

执行命令display cpu-usage slot slot-id 查看接口板各任务的CPU 占用率。

记录CPU 占用率超过70%的任务名称。

说明
这个取值并非绝对数值,有可能某些任务执行时就需要占用70%的CPU 而对业务不会造成影响,也有可能某些任务占用CPU 30%时就会对业务造成影响。

应该根据实际情况判断。

display cpu-usage
CPU Usage Stat. Cycle: 60 (Second)
CPU Usage : 9% Max: 99%
CPU Usage Stat. Time : 2011-04-12 15:10:17
CPU utilization for five seconds: 9%: one minute: 9%: five minutes: 25%.
常见的任务说明如下表所示。

步骤2 检查是否上送CPU 的报文太多
执行命令display cpu-defend statistics,查看上送CPU 报文的统计信息,关注丢弃计数。

display cpu-defend statistics all
Statistics on mainboard:
l 如果某种类型报文“Drop”计数较大,且对应上一步中占用的CPU 使用率较高,可
以判断为发生了报文攻击。

请执行步骤5。

l 如果没有发现有流量过大的报文,请执行步骤3。

步骤3 检查是否TC 报文过多
支持STP 的设备上,STP 使能情况下,设备在接收到TC-BPDU 报文时,会删除MAC
地址表项和ARP 表项。

如果有人伪造TC-BPDU 报文恶意攻击,设备短时间内会收到很
多TC-BPDU 报文,频繁的删除操作会导致CPU 占用率比较高。

执行命令display stp tc-bpdu statistics,查看接口下收到的TC 报文和TCN 报文计数。

display stp tc-bpdu statistics
-------------------------- STP TC/TCN information -------------------------- MSTID Port TC(Send/Receive) TCN(Send/Receive)
0 GigabitEthernet2/0/0 1/0 0/0
l 如果该值很大,系统视图下执行命令stp tc-protection 配置对TC 类型BPDU 报文的
抑制。

配置此命令后,默认每个Hello 周期处理3 个TC 报文。

可以根据实际情况通
过stp tc-protection threshold 命令指定处理的报文数量门限值,可以通过stp timer hello 命令修改Hello 周期的时长。

[Quidway] stp tc-protection
[Quidway] stp tc-protection threshold 5
[Quidway] stp timer hello 120
l 如果TC 报文数量不多,请执行步骤4。

步骤4 检查网络是否有环路
当设备的某个VLAN中包含较多接口时,如果有两个接口形成环路,则报文会在多个接
口之间一直转发,会导致CPU 占用率上升。

执行命令display current-configuration,查看是否使能了MAC 地址漂移告警功能。

#
loop-detect eth-loop alarm-only
#
l 如果没有,执行命令loop-detect eth-loop alarm-only 配置当发生MAC 地址漂移时产生告警。

此时如果网络中有环路,当设备两个接口学习到同一个MAC 表项时,会产
生告警。

如:
Feb 22 2011 18:42:50 Quidway L2IFPPI/4/MAC_FLAPPING_ALARM:OID
1.3.6.1.4.1.2011.5.25.4
2.2.1.7.12The mac-address has flap value .
(L2IfPort=0,entPhysicalIndex=0, BaseTrapSeverity=4, BaseTrapProbableCause=549, BaseTrapEventType=1, MacAdd=0000-c0a8-0101,vlanid=100,
FormerIfDescName=GigabitEthernet1/0/3,CurrentIfDescName=GigabitEthernet
1/0/2,DeviceName=Quidway)
根据告警提示信息,查看相应的接口连接以及组网需求。

–如果不需要环网,根据组网图,将其中一个端口shutdown 处理。

–如果确实需要环网,关闭MAC FLAPPING 告警功能,并启动STP 等破环协议。

l 如果设备已经配置了loop-detect eth-loop alarm-only,但是没有看到告警,请执行步骤5。

步骤5 检查设备是否产生海量日志
某些异常情况下如受到攻击、运行中发生了错误、端口频繁Up/Down 等,设备会不停
打印诊断信息或日志信息。

此时对存储器要进行频繁的读写操作,会造成CPU 占用率
升高。

执行命令display logbuffer,查看是否有大量的异常日志。

如某一条信息不断地大量重复出现。

执行步骤6。

步骤6 请收集如下信息,并联系华为技术支持工程师。

l 上述步骤的执行结果。

l 设备的配置文件、日志信息、告警信息。

----结束
相关告警与日志
相关告警
l BASETRAP_1.3.6.1.4.1.2011.5.25.129.2.4.1 hwCPUUtilizationRisingAlarm
相关日志
l VOSCPU/4/CPU_USAGE_HIGH。

相关文档
最新文档