银河麒麟SP2 auditd服务内存泄露问题
这几天遇到基于海光服务器的银河麒麟V10 SP2版本操作系统出现内存无故增长问题。
排查发现auditd服务,占用了大量内存。
我的环境是银河麒麟V10 SP2 524,audit版本audit-3.0-5.se.06
==5037== HEAP SUMMARY:
==5037== in use at exit: 3,022 bytes in 210 blocks
==5037== total heap usage: 415 allocs, 205 frees, 159,455 bytes allocated
==5037==
==5037== 122 bytes in 35 blocks are definitely lost in loss record 1 of 6
==5037== at 0x483479B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5037== by 0x488435C: xmalloc (in /usr/lib64/libaudit.so.1.0.0)
==5037== by 0x4884393: xmemdup (in /usr/lib64/libaudit.so.1.0.0)
==5037== by 0x48848FF: ??? (in /usr/lib64/libaudit.so.1.0.0)
==5037== by 0x4884B4C: get_file_sys_info (in /usr/lib64/libaudit.so.1.0.0)
==5037== by 0x11217B: ??? (in /usr/sbin/auditd)
==5037== by 0x112D83: ??? (in /usr/sbin/auditd)
==5037== by 0x10ECA7: ??? (in /usr/sbin/auditd)
==5037== by 0x4BD0B26: (below main) (libc-start.c:308)
==5037==
==5037== 122 bytes in 35 blocks are definitely lost in loss record 2 of 6
==5037== at 0x483479B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==5037== by 0x488435C: xmalloc (in /usr/lib64/libaudit.so.1.0.0)
==5037== by 0x4884393: xmemdup (in /usr/lib64/libaudit.so.1.0.0)
==5037== by 0x488494E: ??? (in /usr/lib64/libaudit.so.1.0.0)
==5037== by 0x4884B4C: get_file_sys_info (in /usr/lib64/libaudit.so.1.0.0)
==5037== by 0x11217B: ??? (in /usr/sbin/auditd)
==5037== by 0x112D83: ??? (in /usr/sbin/auditd)
==5037== by 0x10ECA7: ??? (in /usr/sbin/auditd)
==5037== by 0x4BD0B26: (below main) (libc-start.c:308)
分析auditd服务存在内存泄露问题,位置在/usr/lib64/libaudit.so.1.0.0的get_file_sys_info处,malloc以后未释放。

auditd是审计服务,会对ssh的会话做日志记录,该问题出现在写日志前判断分区时的一部分代码。

经过循环ssh登录退出,也复现了这个现象。
yum update audit
升级到audit-3.0-5.se.07.ky10及以后版本即可解决
我也找到了官方发布的补丁:https://www.kylinos.cn/index.php/support/update/6.html
银河麒麟SP2 auditd服务内存泄露问题的更多相关文章
- python服务端内存泄露的处理过程
http://xiaorui.cc http://xiaorui.cc/2017/08/20/python服务端内存泄露的处理过程/
- 国产化之银河麒麟.netcore3.1访问https服务的两个问题
背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64.龙芯.飞腾.鲲鹏等. 考虑到这些基础产品对.NETCore的支持,最终选择了3.1版 ...
- 开源即时通讯GGTalk 8.0发布,增加Linux客户端,支持在统信UOS、银河麒麟上运行!
GGTalk在2021年推出7.0后,经过一年多时间的开发,终于推出8.0版本,实现了Linux客户端. 这几年,信创国产化的势头越来越猛,政府事企业单位都在逐步转向使用国产OS.国产CPU.国产数据 ...
- 银河麒麟V10 SP1服务器操作系统-单用户模式与救援模式调试方法
单用户模式 单用户模式:该模式下系统并没有完全运行进来,只是部分程序运行,包括网络服务,ssh服务等部分服务未运行,因此无法通过远程登录到操作系 统.进入单用户方式进行系统维护由是ROO ...
- 企业实践 | 国产操作系统之光? 银河麒麟KylinOS-V10(SP3)高级服务器操作系统基础安装篇
[点击 关注「 全栈工程师修炼指南」公众号 ] 设为「️ 星标」带你从基础入门 到 全栈实践 再到 放弃学习! 涉及 网络安全运维.应用开发.物联网IOT.学习路径 .个人感悟 等知识分享. 希望各位 ...
- Javascript内存泄露
在过去一些的时候,Web开发人员并没有太多的去关注内存泄露问题.那时的页面间联系大都比较简单,并主要使用不同的连接地址在同一个站点中导航,这样的设计方式是非常有利于浏览器释放资源的.即使Web页面运行 ...
- 强大的windbg定位内存泄露,两句命令搞定!
1.简单配置在windbg程序目录下有个gflags.exe,运行后设置: 运行CMD.EXE,输入"D:\Debugging Tools for Windows (x86)\gflags. ...
- Android学习系列(36)--App调试内存泄露之Context篇(上)
Context作为最基本的上下文,承载着Activity,Service等最基本组件.当有对象引用到Activity,并不能被回收释放,必将造成大范围的对象无法被回收释放,进而造成内存泄漏. 下面针对 ...
- .Net内存泄露原因及解决办法
.Net内存泄露原因及解决办法 1. 什么是.Net内存泄露 (1).NET 应用程序中的内存 您大概已经知道,.NET 应用程序中要使用多种类型的内存,包括:堆栈.非托管堆和托管堆.这里我们需 ...
- [Android Memory] App调试内存泄露之Context篇(上)
转载自:http://www.cnblogs.com/qianxudetianxia/p/3645106.html Context作为最基本的上下文,承载着Activity,Service等最基本组件 ...
随机推荐
- Cypress 踩坑记 - DOM 遮挡
Cypress 是一个非常流行的测试工具,然而实际使用过程中发现一些问题,这里做些记录. 问题发现 在 Cypress 下 click 是非常常用的指令,然而在一些特殊场景下 click 并不能如想象 ...
- .NET 通过源码深究依赖注入原理
依赖注入 (DI) 是.NET中一个非常重要的软件设计模式,它可以帮助我们更好地管理和组织组件,提高代码的可读性,扩展性和可测试性.在日常工作中,我们一定遇见过这些问题或者疑惑. Singleton服 ...
- 为什么 GPU 更适用于时域算法,而 CPU 更适用于频域算法?
对于懂电脑的人来讲,他们可以简单地区分出电脑的GPU和CPU的应用范畴及其优势,而今天我们要讨论的问题是"为什么 GPU 更适用于时域算法,而 CPU 更适用于频域算法?"在讨论这 ...
- VuePress v2.0 项目创建
VuePress v2.0 项目创建 参考:VuePress v2.0 文档 1.创建文件夹 我创建了一个文件夹,然后在文件夹中打开了powershell E:\2023个人项目\terramours ...
- C#与WPF中相关字符串操作
字符串指定字符查找 例如:输入一个邮箱地址,如果正确则显示success否则显示error(正确的邮箱地址包含@,以.com结尾) //接受输入进来的字符串 string s=this.txtEmsi ...
- mybatis-plus-generator-ui 可视化代码生成器!
它提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity,Mapper,Mapper.xml,Service,Controller等. 可以自定义模板以及各类 ...
- 自然语言处理 Paddle NLP - 词法分析技术及其应用
词法分析就是利用计算机对自然语言的形态(morphology) 进行分析,判断词的结构和类别等."简单而言,就是分词并对每个词进行分类,包括:分词.词性标注.实体识别三个任务 问答 知识图谱 ...
- Grafana系列-GaC-1-Grafana即代码的几种实现方式
系列文章 Grafana 系列文章 Terraform 系列文章 概述 GaC(Grafana as Code, Grafana 即代码) 很明显是扩展自 IaC(Infrastructure as ...
- SparkMLlib机器学习实践:基于聚类的社交媒体分析
目录 <Spark MLlib 机器学习实践:基于聚类的社交媒体分析> 一.引言 社交媒体作为现代营销的一种重要手段,已经被广泛应用于市场调研.品牌监控.内容分析.用户互动等领域.在这个领 ...
- 聊聊Flink CDC必知必会
CDC是(Change Data Capture变更数据获取)的简称. 核心思想是,监测并捕获数据库的变动(包括数据 或 数据表的插入INSERT.更新UPDATE.删除DELETE等),将这些变更按 ...