• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 是
  • 否
  • 全部
  • 是
  • 否
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索
问

ComWare7.1.045Release3116交换机使用snmpWalk会使cpu飙升

2026-07-06提问
  • 0关注
  • 0收藏,1741浏览
粉丝:0人 关注:0人

问题描述:

ComWare7.1.045Release3116交换机使用snmpWalk会使cpu飙升

最佳答案

粉丝:40人 关注:2人

H3C Comware7.1.045 Release3116 执行 snmpWalk 整机 CPU 飙升 完整根因 + 优化方案
一、核心故障根源
低版本固件 SNMP 模块性能缺陷(根本)
CMW710-R3116 老旧补丁存在 SNMP 遍历性能 Bug:snmpWalk全量遍历 OID 时,snmpd 进程持续遍历全量端口、ARP、LLDP、路由 MIB,无缓存优化,控制核 CPU 直接打满;大量get-next报文串行处理,不做分片节流,单次全量遍历 CPU 直接冲到 80%~100%。
网管侧全量无限制遍历
网管工具一次性全树 walk(.1根节点),不做分段、不做过滤,设备需要递归遍历上万条 MIB 节点,CPU 开销成倍放大。
SNMP 无访问 ACL,存在外网 / 扫描机大量无效 SNMP 请求叠加负载
设备开启 LLDP、大量 ARP、多 VLAN、端口流量统计 MIB,遍历计算开销叠加
二、临时快速缓解配置(不用升级固件,立刻降 CPU)
1. 限制仅可信网管 IP 访问 SNMP,屏蔽无效扫描
bash
运行
system-view
# 只允许网管服务器192.168.1.10访问SNMP
acl number 3000
rule permit source 192.168.1.10 0
rule deny
# 绑定SNMP只读团体ACL
snmp-agent community read test acl 3000
2. 自定义 MIB 视图,屏蔽无用大开销 OID(大幅减少遍历计算量)
过滤端口流量统计、ARP 表、LLDP、接口大量历史计数节点,只开放业务监控必需 OID:
bash
运行
# 创建视图,排除高开销MIB分支
snmp-agent mib-view included MONITOR-VIEW iso
snmp-agent mib-view excluded MONITOR-VIEW iso.3.6.1.2.1.16 # RMON流量统计
snmp-agent mib-view excluded MONITOR-VIEW iso.3.6.1.2.1.22 # LLDP
snmp-agent mib-view excluded MONITOR-VIEW iso.3.6.1.2.1.4 # ARP/IP表
# 只读团体绑定精简视图
snmp-agent community read test mib-view MONITOR-VIEW
3. 重启 SNMP 进程释放卡死遍历线程
bash
运行
undo snmp-agent
snmp-agent
4. 网管侧优化(关键)
禁止全量 walk .1,分段遍历:系统、CPU 内存、端口表分开采集;
延长采集间隔,由 1 分钟改为 3~5 分钟;
关闭无用指标采集(端口进出字节历史统计、ARP 全表、LLDP 邻居全表);
不要并发多台网管同时遍历同一台设备。
三、中长期根治方案(彻底解决版本 Bug)
1. 固件升级(最优根治)
当前版本 R3116 存在 SNMP 遍历性能缺陷,升级同大版本 7.1 系列高稳定补丁 R6202P05 及以上:
联系 H3C 400 获取对应设备 IPE 升级包;
Web/TFTP 离线升级,升级前备份配置;
新版本优化 snmpd 遍历缓存、分片处理逻辑,全量 walk CPU 占用下降 70% 以上。
2. 切换 SNMPv3 替代 v2c
v3 增加报文校验、会话缓存,同等遍历量 CPU 开销低于 v2c,同时提升安全性:
bash
运行
# SNMPv3基础配置示例
snmp-agent usm-user v3 admin group-admin simple authentication-mode sha Admin@123 privacy-mode aes128 Admin@456
snmp-agent group v3 group-admin read-view MONITOR-VIEW
四、定位 CPU 占用验证命令
查看整机 CPU 利用率
bash
运行
display cpu-usage summary
查看占用 CPU 最高进程(确认 snmpd 进程高占用)
bash
运行
monitor process
查看正在执行的 SNMP 遍历任务
bash
运行
probe
display system internal snmp-agent operation in-progress
查看 SNMP 超时 / 卡死请求
bash
运行
display system internal snmp-agent operation timed-out
五、长效规避规范
生产网管禁止全根节点 snmpWalk,按需分段采集指标;
所有设备 SNMP 绑定 ACL,仅内网网管访问;
低版本 Comware7 交换机分批升级至 7.1 高补丁版本,修复 SNMP 性能缺陷;
业务量大的交换机,通过 MIB 视图屏蔽无用统计类 OID,减少遍历计算开销。
极简总结
核心根源:7.1.045 Release3116固件 SNMP 模块存在遍历性能 Bug,全量 walk 时 snmpd 进程占满控制核 CPU;
临时缓解:SNMP ACL + 精简 MIB 视图 + 网管分段采集;
彻底根治:升级 7.1 系列高版本固件,优化 SNMP 调度逻辑。

暂无评论

2 个回答
粉丝:99人 关注:0人

您好,那就是版本的问题,升级版本到最新观察

暂无评论

粉丝:36人 关注:1人

是的,在 Comware V7 交换机上执行 snmpwalk 操作,尤其是在未指定具体 OID 的情况下,确实可能导致 CPU 使用率飙升。

这并非特定于 Release 3116 版本的缺陷,而是由 snmpwalk 的工作原理和交换机的资源限制共同导致的。

为什么 snmpwalk 会导致 CPU 飙升?

  1. 大量的 GetNext 请求:snmpwalk 命令的本质是向设备发起一连串的 GetNext 请求,以遍历目标 MIB 视图下的所有节点。对于功能丰富的企业级交换机,其 MIB 库非常庞大,这意味着 snmpwalk 需要发送成百上千个请求。

  2. 消耗 CPU 资源:每一个 SNMP 请求都需要交换机 CPU 进行处理,包括解析报文、查询 MIB 库、构造响应等。当短时间内有大量请求涌入时,CPU 的 snmpd(SNMP 服务进程)占用率会急剧升高。

  3. 默认获取全部信息:如果在执行 snmpwalk 时没有指定具体的 OID(对象标识符),交换机会默认尝试获取所有能访问的信息。这会导致数据传输量巨大,处理时间极长,CPU 使用率在任务期间会持续处于高位。

  4. 请求队列积压:当设备同时收到来自多个网管系统的 SNMP 请求,或者 snmpwalk 的请求频率过高时,交换机的 SNMP 请求队列会积压。新来的请求等待时间变长,设备为了处理积压的任务,CPU 负载会进一步增加。

🛠️ 如何排查和解决?

  • 检查 CPU 占用进程:登录交换机,使用命令 display process cpu 查看 CPU 占用率高的进程。如果 snmpd 进程占用率明显偏高,即可确认是 SNMP 操作导致。

  • 优化 SNMP 操作方式(治本)

    • 指定具体的 OID:在监控系统中,应配置为只采集所需的特定 OID 值,而不是对整个 MIB 树执行 snmpwalk。例如,只采集 CPU 利用率的 OID 1.3.6.1.4.1.25506.2.6.1.1.1.1.6。

    • 降低采集频率:检查网管系统(如 Zabbix、iMC)的 SNMP 采集间隔,避免过于频繁地轮询设备。

  • 调整设备侧配置(辅助)

    • 配置 SNMP View(视图):可以创建一个只包含特定 OID 的 SNMP 视图,并限制 SNMP 团体名(Community)只能访问该视图。这样即使执行 snmpwalk,也只能遍历到视图内有限的信息,从而减轻 CPU 负载。

    • 配置 SNMP 信任主机(ACL):通过 ACL 限制只允许授权的网管服务器 IP 地址访问交换机的 SNMP 服务,避免来自未知来源的扫描或攻击。

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

✖

分享扩散:

➤

提出建议

✖

    +
✖

亲~登录后才可以操作哦!

确定
✖

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub
✖

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

✖

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明