当前位置: 首页 > news >正文

CPU占用率过高排查

· CPU占用率高是设备本身的一种现象,直观表现为display cpu-usage命令查询结果中整机CPU占用率“CPU usage”偏高,如超过70%。在网络运行中CPU高常常会导致其他业务异常,如BGP震荡、VRRP频繁切换、甚至设备无法登录。
·通常,整机CPU占用率过高,是由于某些任务的CPU占用率居高不下导致的。具体导致某任务CPU占用率高的可能原因:上送CPU报文过多,如环路或DoS报文攻击;STP网络频繁震荡,收到大量TC报文,造成设备频繁删除MAC表和ARP表项;设备产生海量日志,占用大量CPU资源。
·执行命令display cpu-usage,查看各任务的CPU占用率。记录CPU占用率超过70%的任务名称。这个取值并非绝对数值,有可能某些任务执行时就需要占用70%的CPU而对业务不会造成影响,也有可能某些任务占用CPU 30%时就会对业务造成影响。应该根据实际情况判断。
·执行命令display cpu-defend statistics,查看上送CPU报文的统计信息,关注丢弃计数。如果某种类型报文“Drop”计数较大,且对应上一步中占用的CPU使用率较高,可以判断为发生了报文攻击。
·如果没有发现有流量过大的报文,检查是否TC报文过多。支持STP的设备上,STP使能情况下,设备在接收到TC-BPDU报文时,会删除MAC地址表项和ARP表项。如果有人伪造TC-BPDU报文恶意攻击,设备短时间内会收到很多TC-BPDU报文,频繁的删除操作会导致CPU占用率比较高。执行命令display stp,查看接口下收到的TC报文和TCN报文计数。如果该值很大,系统视图下执行命令stp tc-protection配置对TC类型BPDU报文的抑制。配置此命令后,默认每个Hello周期处理3个TC报文。可以根据实际情况通过stp tc-protection threshold命令指定处理的报文数量门限值,可以通过stp timer hello命令修改Hello周期的时长。
·如果没有,执行命令loop-detect eth-loop alarm-only配置当发生MAC地址漂移时产生告警。如果网络中有环路,当设备两个接口学习到同一个MAC表项时,会产生告警根据告警提示信息,查看相应的接口连接以及组网需求。如果不需要环网,根据组网图,将其中一个端口shutdown处理。如果确实需要环网,关闭Loop Detection功能,并启动STP等破环协议。
·如果设备已经配置了loop-detect eth-loop alarm-only,但是没有看到告警,检查设备是否产生海量日志,某些异常情况下如受到攻击、运行中发生了错误、端口频繁Up/Down等,设备会不停打印诊断信息或日志信息。此时对存储器要进行频繁的读写操作,会造成CPU占用率升高。执行命令display logbuffer,查看是否有大量的异常日志。

http://www.lryc.cn/news/349921.html

相关文章:

  • 关于 vs2019 c++20 规范里的 STL 库里模板 decay_t<T>
  • android C++打印堆栈
  • MySQL Undo Log、Redo Log、bin Log
  • vld.ini配置文件说明
  • NSS【web】刷题
  • 将TailwindCSS默认单位rem转换为px
  • 命令模式(命令)
  • Android ashmem 原理分析
  • redis报错500
  • GPT-3
  • MATLAB数组
  • JAVA实验项目(二): 抽象类、接口的定义与使用
  • JVM内存模型最新面试题(持续更新)
  • Nginx wss to ws 折腾记
  • Java入门基础学习笔记22——程序流程控制
  • java医院信息系统HIS源码SaaS模式Java版云HIS系统 接口技术RESTful API + WebSocket + WebService
  • 2024年成都高新区支持企业申报国家、省级、市级大数据产业发展、新一代信息技术与制造业融合发展、工业互联网推广应用等试点示范项目申报对象条件和奖补
  • 让《行列视》解放数据力量,提升业务洞察
  • LeetCode 每日一题 ---- 【2244.完成所有任务需要的最少轮数】
  • 【RAG 去噪】引入 NLI 模型来为 RAG 去噪
  • SQLite利用事务实现批量插入(提升效率)
  • 使用Python处理Excel数据:去除列中的双引号
  • 未来互联网:Web3的技术革新之路
  • 【练习】分治--快排思想
  • Unity读书系列《Unity高级编程:主程手记》——C#技术要点
  • Redis分片集群
  • Math.Round()函数说明
  • 001 定期同步mysql数据到es 删除数据库记录同时删除es记录 es全文搜索分词和高亮
  • Vue 快速入门:Vue初级
  • 什么是IP跳变?