1. 故障描述
连续使用命令 display cpu-usage 查看 CPU 的占用率。如果 CPU 占用率持续在 70%以上,说明有某个任务长时间占用 CPU,需要确认 CPU 高的具体原因。
2. 常见原因
本类故障的常见原因主要包括:
• 路由振荡
• 报文攻击
• 链路环路
3. 故障分析
4. 处理步骤
(1) 检查是否发生路由振荡
使用命令display ip routing-table查询路由表,路由表中条目频繁变化,可能导致 CPU 占用率过高。当发生路由震荡时,收集信息并联系H3C 技术支持。
(2) 检查是否受到报文攻击
部分机型 Probe 视图下支持 debug rxtx softcar show 命令,可以查看软件收包是否堵塞丢包。
如果某类报文的统计计数在不断增长,说明有攻击存在,可通过抓包确认攻击源。在设备端口抓包,使用报文捕获工具(如 Sniffer、Wireshark、WinNetCap 等)分析报文特征,确认攻击源。然后针对攻击源配置报文防攻击。
(3) 检查是否存在链路环路
链路存在环路时,可能出现广播风暴和网络振荡,大量的协议报文上送 CPU 处理可能导致CPU 占用率升高,设备很多端口的流量会变得很大,端口使用率达到 90%以上:
如链路出现环路:
. 排查链路连接、端口配置是否正确。
. 对于二层口,是否使能 STP 协议,配置是否正确。
. 对于二层口,邻接设备 STP 状态是否正常。
. 如以上配置均正确,可能为 STP 协议计算错误或协议计算正确但端口驱动层没有正常Block 阻塞,可以 shutdown 环路上端口、拔插端口让 STP 重新计算来快速恢复业务。
(4) 确定 CPU 占用率高的任务
如果通过上述步骤无法解决故障,请通过 display process cpu 命令观察占用 CPU 最多的任务。
各列分别表示某任务平均 5sec、1min、5min 占用 CPU 的百分比和任务名。某任务占用率越高,说明相应的任务占用 CPU 的资源越多。正常情况任务对 CPU 的占用率一般低于 5%,这个命令可以查看明显高出正常占用率的任务。
(5) 确认异常任务的调用栈
通过 Probe 视图下的 follow job job-id 命令确认异常任务的调用栈,请查询 5 次以上,发送给技术支持人员分析,以便于分析该任务具体在做什么处理导致 CPU 占用率持续升高。此处以显示 JID 145 的调用栈为例。
(6) 如果故障仍然未能排除,请收集如下信息,联系 H3C 技术支持。
•上述步骤的执行结果。
• 设备的配置文件、日志信息、告警信息