这几天遇到基于海光服务器的银河麒麟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服务内存泄露问题的更多相关文章

  1. python服务端内存泄露的处理过程

    http://xiaorui.cc http://xiaorui.cc/2017/08/20/python服务端内存泄露的处理过程/

  2. 国产化之银河麒麟.netcore3.1访问https服务的两个问题

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64.龙芯.飞腾.鲲鹏等. 考虑到这些基础产品对.NETCore的支持,最终选择了3.1版 ...

  3. 开源即时通讯GGTalk 8.0发布,增加Linux客户端,支持在统信UOS、银河麒麟上运行!

    GGTalk在2021年推出7.0后,经过一年多时间的开发,终于推出8.0版本,实现了Linux客户端. 这几年,信创国产化的势头越来越猛,政府事企业单位都在逐步转向使用国产OS.国产CPU.国产数据 ...

  4. 银河麒麟V10 SP1服务器操作系统-单用户模式与救援模式调试方法

    单用户模式 单用户模式:该模式下系统并没有完全运行进来,只是部分程序运行,包括网络服务,ssh服务等部分服务未运行,因此无法通过远程登录到操作系        统.进入单用户方式进行系统维护由是ROO ...

  5. 企业实践 | 国产操作系统之光? 银河麒麟KylinOS-V10(SP3)高级服务器操作系统基础安装篇

    [点击 关注「 全栈工程师修炼指南」公众号 ] 设为「️ 星标」带你从基础入门 到 全栈实践 再到 放弃学习! 涉及 网络安全运维.应用开发.物联网IOT.学习路径 .个人感悟 等知识分享. 希望各位 ...

  6. Javascript内存泄露

    在过去一些的时候,Web开发人员并没有太多的去关注内存泄露问题.那时的页面间联系大都比较简单,并主要使用不同的连接地址在同一个站点中导航,这样的设计方式是非常有利于浏览器释放资源的.即使Web页面运行 ...

  7. 强大的windbg定位内存泄露,两句命令搞定!

    1.简单配置在windbg程序目录下有个gflags.exe,运行后设置: 运行CMD.EXE,输入"D:\Debugging Tools for Windows (x86)\gflags. ...

  8. Android学习系列(36)--App调试内存泄露之Context篇(上)

    Context作为最基本的上下文,承载着Activity,Service等最基本组件.当有对象引用到Activity,并不能被回收释放,必将造成大范围的对象无法被回收释放,进而造成内存泄漏. 下面针对 ...

  9. .Net内存泄露原因及解决办法

    .Net内存泄露原因及解决办法 1.    什么是.Net内存泄露 (1).NET 应用程序中的内存 您大概已经知道,.NET 应用程序中要使用多种类型的内存,包括:堆栈.非托管堆和托管堆.这里我们需 ...

  10. [Android Memory] App调试内存泄露之Context篇(上)

    转载自:http://www.cnblogs.com/qianxudetianxia/p/3645106.html Context作为最基本的上下文,承载着Activity,Service等最基本组件 ...

随机推荐

  1. es笔记五之term-level的查询操作

    本文首发于公众号:Hunter后端 原文链接:es笔记五之term-level的查询操作 官方文档上写的是 term-level queries,表义为基于准确值的对文档的查询,可以理解为对 keyw ...

  2. ChatGPT 问答

    Win32GUI编程时,创建窗口触发消息的顺序 在Win32 GUI编程中,创建窗口并显示到屏幕上时,系统会触发一系列的消息,这些消息可以用来完成窗口的初始化和其他相关的工作.下面是创建窗口触发消息的 ...

  3. mybatis拦截器实现数据权限

    前端的菜单和按钮权限都可以通过配置来实现,但很多时候,后台查询数据库数据的权限需要通过手动添加SQL来实现. 比如员工打卡记录表,有id,name,dpt_id,company_id等字段,后两个表示 ...

  4. 2023-06-11:redis中,如何在100个亿URL中快速判断某URL是否存在?

    2023-06-11:redis中,如何在100个亿URL中快速判断某URL是否存在? 答案2023-06-11: 传统数据结构的不足 当然有人会想,我直接将网页URL存入数据库进行查找不就好了,或者 ...

  5. .NET指定图片地址下载并转换Base64字符串

    需求描述 需要调用第三方图片上传接口上传图片,对方图片格式只能接收Base64字符串.所以我们需要将系统服务器的图片通过Url下载下来,然后转换成Base64字符串.接下来我们将使用HttpClien ...

  6. 基于html2canva jspdf 实现前端页面加水印 并导出页面PDF

    基于html2canva jspdf 实现前端页面加水印 并导出页面PDF; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12 ...

  7. PostgreSQL 性能优化: 等待事件

    等待事件 等待事件是 PostgreSQL 的重要优化工具.当您能查明会话为什么在等待资源以及会话在做什么时,您就能更好地减少瓶颈.您可以使用本节中的信息来查找可能的原因和纠正措施. 目录 等待事件概 ...

  8. Spring Boot集成Dubbo 3.X

    关注王有志,一个分享硬核Java技术的互金摸鱼侠 欢迎加入Java人的提桶跑路群:共同富裕的Java人 上一篇我们一起认识了Dubbo与RPC,今天我们就来一起学习如何使用Dubbo,并将Dubbo集 ...

  9. iota简介

    当声明枚举类型或定义一组相关常量时,Go语言中的iota关键字可以帮助我们简化代码并自动生成递增的值.本文档将详细介绍iota的用法和行为. iota关键字 iota是Go语言中的一个预定义标识符,它 ...

  10. pod reopened update慢

    CocoaPods 镜像使用帮助 CocoaPods 是一个 Cocoa 和 Cocoa Touch 框架的依赖管理器,具体原理和 Homebrew 有点类似,都是从 GitHub 下载索引,然后根据 ...