3.3 KiB
TSG9140内存周期性增长
| ID | Creation Date | Assignee | Status |
|---|---|---|---|
| OMPUB-1055 | 2023-11-05T12:32:27.000+0800 | 刘文坛 | 已关闭 |
如附件图所示,sapp,tfe内存使用周期性增长,怀疑配置更新导致。目前会周期性配置更新的程序有两个:
- CN定期向CM中写入学习到IP Object的item:停用CN后内存依然周期性增长
- Webfocus定期学习IP Learning相关(IP和FQDN Object)item:停用webfocus后内存不再周期性增长
!image-2023-11-05-12-24-42-399.png|thumbnail!
!image-2023-11-05-12-27-27-104.png|thumbnail!
!image-2023-11-05-12-31-58-905.png|thumbnail! liuyang commented on 2023-11-05T12:34:08.069+0800:
CM排查:2023.11.1 12:50-24:00(UTC+3)CM未推送全量,增量统计如下: 总记录 67 条,操作数据表:tsg_obj_fqdn 和 tsg_obj_ip_learning_addr (每次删除一条再新增一条item)
liuwentan commented on 2023-11-06T14:15:46.779+0800:
请现场同学确认下两方面信息:
tsg_obj_fqdn 和 tsg_obj_ip_learning_addr两张表的各自item 总数
内存周期性增长的具体数值
leijun commented on 2023-11-06T14:42:30.189+0800:
CM redis中有效 item 配置总数:
- tsg_obj_fqdn 2012562
- tsg_obj_ip_learning_addr 21
liuyang commented on 2023-11-06T14:53:33.992+0800:
CN 最近一个周期:2023-11-01 07:00:01 (utc+3)写入 26504 个item 目前周期总数: 105723 个item
liuwentan commented on 2023-11-06T18:02:42.164+0800:
辛苦把这两个表配置导出,我线下模拟看能否复现并定位根因 [~leijun]
leijun commented on 2023-11-06T19:39:59.562+0800:
数据已导入信息港E21测试环境
redis地址:192.168.44.230:7002
liuwentan commented on 2023-11-07T16:58:31.564+0800:
maat 线下已复现内存周期性增长现象,增幅4G 左右,量级与 E21现场监控一致。
!截屏2023-11-07 15.52.56.png!
根因:
内存增长基本都损耗在 TSG_OBJ_FQDN 表构建新的 hyperscan实例上,与之相比,TSG_OBJ_IP_ADDR+TSG_OBJ_IP_LEARNING_ADDR(FIREWALL 将两个表 conjunction 成一张表,故 maat 将二者视为一张表)构建的 ip_matcher 实例占用的内存可忽略。
原理分析:
当前 maat 配置构建采用 read-copy-update 机制,即正常没有配置更新时,只有一个effective hyperscan 实例用于扫描;一旦配置发生更新,就会新增一个updating hyperscan实例,待一轮配置更新结束后且该 updating hyperscan 构建完毕(此时两个完整的hyperscan 实例并存),将 updating hyperscan 实例切换成 effective hyperscan 实例,旧的 effective hyperscan 实例进行内存回收,于是出现了内存先上涨后下降的现象。
结论:
此现象由 maat 配置更新设计机制决定,故不是 bug
Attachments
46687/image-2023-11-05-12-24-42-399.png
46686/image-2023-11-05-12-27-27-104.png
46685/image-2023-11-05-12-31-58-905.png
46707/image-2023-11-06-14-41-59-821.png
46804/截屏2023-11-07+15.52.56.png
46811/截屏2023-11-07+17.08.00.png
46810/截屏2023-11-07+17.08.20.png