ACG-1070-X1,昨天升级到R6618P02年度稳定版本后,内存使用率居高不下,甚至丢包。部署模式是旁路部署,down掉接收镜像流量的端口后,不再丢包,但内存使用率让然在ACG-1070-X1# dis memory
name total used free percent
----------------------------------------------------
Control 948.24M 543.95M 404.29M 57.36%
Flow 1099.76M 1074.86M 24.91M 97.74%
----------------------------------------------------
Total 2048.00M 1618.80M 429.20M 79.04%
重启后依然如此。官方现在搜不到历史版本,无法回退。
一、先定位根因(你的现象完全匹配新版本旁路镜像缺陷)
plaintext
Control 948.24M 543.95M 404.29M 57.36%
Flow 1099.76M 1074.86M 24.91M 97.74%
Flow 分区完全占满,只剩 24M 空闲:ACG 流表、七层解析、应用识别全部跑在 Flow 内存,内存耗尽直接触发报文丢弃;
旁路镜像特征:断开镜像接收口丢包消失,但内存依然高,说明大量镜像报文持续创建无效流表,老化回收机制失效;
版本背景:R6618P02 对旁路全流量镜像的流表缓存、老化回收逻辑改动大,存在旁路镜像场景流表内存释放慢、流表堆积的共性问题,重启无法根治(重启后镜像流量灌入立刻复现);
硬件限制:ACG1070-X1 整机内存仅 2G,Flow 分区固定约 1.1G,旁路大流量镜像极易打满。
二、紧急临时处置(立刻缓解丢包,业务不中断)
1. 手动清空堆积流表,快速释放 Flow 内存
bash
运行
# 清空所有老化流,强制回收Flow内存
reset flow table all
# 查看释放效果
display memory
执行后 Flow 空闲内存会立刻上涨,丢包暂停;但镜像持续导入,几小时后会再次占满,必须配合优化配置。
2. 临时限制镜像端口上送流量,避免瞬间打满流表
假设镜像接收口为 G0/0/1:
bash
运行
interface GigabitEthernet 0/0/1
# 镜像端口入方向限速,根据业务带宽设,比如1G镜像设800M
rate-limit inbound bandwidth 800000
# 关闭不必要报文上送CPU
undo mirroring to cpu
三、核心优化配置(根治流表堆积,永久降低 Flow 占用)
步骤 1:调小流表老化时间(旁路最关键,默认值过大)
旁路镜像无真实转发结束报文,大量单向流长期驻留,缩短老化快速回收内存
bash
运行
# 全局四层流老化,默认300s,旁路改为60s
flow aging-time tcp 60
flow aging-time udp 30
flow aging-time icmp 10
flow aging-time rawip 30
# 短连接快速老化(HTTP/HTTPS、小程序、DNS)
flow aging-time short-connection 10
# 半开连接快速清理(扫描、异常单向镜像流)
flow aging-time half-open 5
# 空闲流极速回收
flow idle-timeout 15
步骤 2:限制全局最大流表总数,防止撑爆 Flow 内存
ACG1070-X1 Flow 分区仅 1.1G,限制总流表上限避免内存溢出丢包
bash
运行
# 全局最大并发流,旁路镜像建议80000以内(默认无上限)
flow max-entry 80000
# 达到阈值自动触发强制老化清理
flow aging-threshold 80
步骤 3:旁路镜像专属优化,过滤无效报文减少流创建
(1)过滤二层广播、组播、ARP 等无审计价值报文
bash
运行
acl number 4000
rule deny arp
rule deny destination-mac ffff-ffff-ffff
rule deny 0806 # ARP
rule deny 86dd destination-mac 3333-xxxx-xxxx # IPv6组播
rule deny 800 destination-mac 0100-5e00-0000 mask ffff-ff00-0000 # IPv4组播
rule permit
# 绑定镜像入端口,丢弃过滤报文,不进入流解析
interface GigabitEthernet 0/0/1
packet-filter inbound acl 4000
(2)关闭旁路不必要七层深度解析,大幅节省内存
bash
运行
# 关闭无需求的应用特征识别(只保留业务审计需要的)
undo application identify rtsp
undo application identify sip
undo application identify p2p
undo application identify game
# 关闭SSL深度解析(若不需要解密审计,直接关闭最省内存)
undo ssl inspection enable
# 关闭文件内容深度检测(病毒/文件审计不需要就关)
undo file-inspect enable
# 精简日志输出,减少内存缓存
logbuffer size 1024
undo log buffer all-packet
步骤 4:旁路镜像特殊开关,修复新版本内存回收 bug
R6618P02 旁路单向流回收存在缺陷,开启主动回收机制:
bash
运行
# 开启流表后台定时强制回收,每30分钟执行一次
flow auto-clean enable interval 30
# 旁路模式专用:单向镜像流加速回收
mirror flow-reclaim enable
# 关闭流表统计持久缓存(占用大量Flow内存)
undo flow statistics persistent
步骤 5:控制终端 / IP 单流数量,防止单 IP 占满流表
bash
运行
# 单IP最大并发流,防止扫描主机、爬虫疯狂建流
flow ip-limit max-flow 500
四、流量侧优化(交换机镜像改造,从源头减少无效流量)
交换机镜像裁剪:只镜像业务核心 VLAN,取消全 VLAN 镜像,过滤服务器之间内部互访流量;
分片 / 巨型帧过滤:交换机侧丢弃 MTU>1500 的巨型报文,ACG 解析大包极度耗 Flow 内存;
分流镜像:超大流量环境拆分成 2 个镜像口分担,单口镜像流量不超 700M。
五、长期根治方案(版本缺陷无法彻底规避时)
方案 1:升级修复补丁 / 后续稳定版本
R6618P02 旁路镜像流内存泄漏为已知场景缺陷,联系 400 获取:
R6618P02 专属热补丁,修复单向镜像流不回收问题;
升级至 R6620 及以上迭代版本,官方修复旁路 Flow 内存释放逻辑。
方案 2:临时替代方案(无法升级 / 无补丁)
降低审计粒度:关闭七层应用识别,仅做五元组流量审计;
调整部署:改为串接模式(串接双向报文会正常触发流结束回收,内存占用远低于旁路);
扩容硬件:更换更高规格 ACG 设备(1090/1100 系列 4G 内存机型)。
六、验证排查命令(优化后持续观测)
bash
运行
# 1. 内存分区监控,看Flow空闲持续上涨
display memory
# 2. 当前并发流数量,确认不超8万阈值
display flow statistics summary
# 3. 查看流老化清理计数,确认后台自动回收生效
display flow aging statistics
# 4. 查看端口丢弃,确认丢包消失
display interface GigabitEthernet 0/0/1 packet-statistics
# 5. 查看内存压力日志
display logbuffer | include memory
七、操作执行顺序(建议现场操作流程)
执行reset flow table all临时释放内存,停止丢包;
完整复制上面流老化、流上限、镜像过滤、auto-clean配置;
交换机侧裁剪镜像流量,过滤组播 / 广播 / ARP;
持续观测 2 小时,若 Flow 内存仍缓慢上涨,联系 400 申请版本补丁。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
联系400人家说过保产品不给于支持,还让发帖找解决办法。扯皮啊