AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
# :-: audit内存泄露问题分析报告 | 适用范围 | 适用版本 | 人员 | 发布时间 | 文档版本 |备注 | | --- | --- | --- | --- | --- |--- | | 服务器操作系统 | V10-SP1、V10-SP2 | 王国武 |2022.3.4| V1.0|发布| | 服务器操作系统 | V10-SP1、V10-SP2 | 张志勇 |2022.3.4| V1.1|模板调整| ### 经测试,该方案有效可行 ***** ### 1.问题现象描述 在 audit 服务启动状态下,top查看audit服务的内存使用情况,会不断的增加 ### 2.影响版本及触发条件 影响版本 V10-SP1-0711及以后版本 V10-SP2-0524版本 触发条件: 安装了audit-3.0-5.se.05.ky10软件包,并启动了auditd服务 ### 3.问题分析 在系统中执行ssh远程连接,产生用户登录的audit日志,观察audit进程的内存使用情况。内存使用情况监视命令:`watch -n 1 -d cat "/proc/"`ps -ef | grep -w auditd |grep -v grep | awk 'NR==1 {print $2}'`"/status"`。占用的内存不释放,通过代码分析发现存在内存未释放的地方,如下图所示: ![](https://img.kancloud.cn/d7/de/d7de9526d25ca20b71ee441e01c861fb_586x342.png) audit程序中会在写日志之前判断当前分区是否已满,即获取分区剩余空间的大小,通过在此处移植df相关的实现到audit中,移植的代码中有一处内存申请,在用完之后未释放,从而导致了内存泄露。 ### 4.问题影响 在安装并启动auditd服务长时间运行后,由于其内存泄漏问题且auditd的优先级高,所以会消耗系统内存,从而影响一些应用的使用。 ### 5.问题修复 修改了判断当前分区是否已满的逻辑,解决内存未能正确释放的问题。 ### 6.解决方案 升级audit至audit-3.0-5.se.07.ky10及以后版本