auditd和kswapd0导致kylin环境内存CPU占用过高

2024-01-22 15:28

本文主要是介绍auditd和kswapd0导致kylin环境内存CPU占用过高,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

auditd和kswapd0导致kylin环境内存CPU占用过高

环境信息:

cat /etc/kylin-release 
Kylin Linux Advanced Server release V10 (Tercel)cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Tercel)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Tercel)"
ANSI_COLOR="0;31"cat /etc/.productinfo
Kylin Linux Advanced Server
release V10 (SP1) /(Tercel)-aarch64-Build20/20210518

探查发现环境内kswapd0几乎吃满了所有cpu资源,导致执行shell命令都变慢

top
top - 13:08:34 up 97 days, 16:39,  2 users,  load average: 66.60, 65.91, 79.80
Tasks: 324 total,   1 running, 323 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us, 11.7 sy,  0.0 ni,  0.4 id, 86.9 wa,  0.3 hi,  0.4 si,  0.0 st
MiB Mem :  31354.6 total,   1849.8 free,  27422.8 used,   2082.0 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.      0.0 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                68 root      20   0       0      0      0 S 100.0   0.0   3113:12 kswapd0                                                                                                                                
1092324 etcd      20   0   10.8g  91968      0 S   2.0   0.3   0:04.62 etcd                                                                                                                                   
1012554 root      20   0  751808  21824      0 D   0.9   0.1  23:43.11 kube-scheduler                                                                                                                         
1032523 root      20   0 2659520  69760      0 S   0.9   0.2   8:46.04 kubelet                                                                                                                                
1084081 root      20   0 2456704 103040      0 D   0.9   0.3   0:26.40 linux_client                                                                                                                           
1085770 root      20   0  814592  21632      0 S   0.9   0.1   0:11.68 kube-controller                                                                                                                        
1094746 root      20   0  744448   2496    384 D   0.9   0.0   0:00.03 kubectl      

通过网上查阅发现,当环境内存不足时,kswapd0会频繁进行换页操作,此操作会导致kswapd0占用过多cpu资源
Linux的进程kswapd0占用CPU过高导致卡顿问题

此时通过top命令和shift+M查到了占用内存资源最多的auditd进程

auditd部分版本可能存在内存泄漏的问题,导致占用过多资源
银河麒麟V10 SP2 auditd服务内存泄露问题

尝试重启auditd进程

systemctl restart auditd

重启后,环境内存和cpu恢复正常。

这篇关于auditd和kswapd0导致kylin环境内存CPU占用过高的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/633394

相关文章

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

MySQL的cpu使用率100%的问题排查流程

《MySQL的cpu使用率100%的问题排查流程》线上mysql服务器经常性出现cpu使用率100%的告警,因此本文整理一下排查该问题的常规流程,文中通过代码示例讲解的非常详细,对大家的学习或工作有一... 目录1. 确认CPU占用来源2. 实时分析mysql活动3. 分析慢查询与执行计划4. 检查索引与表

C#多线程编程中导致死锁的常见陷阱和避免方法

《C#多线程编程中导致死锁的常见陷阱和避免方法》在C#多线程编程中,死锁(Deadlock)是一种常见的、令人头疼的错误,死锁通常发生在多个线程试图获取多个资源的锁时,导致相互等待对方释放资源,最终形... 目录引言1. 什么是死锁?死锁的典型条件:2. 导致死锁的常见原因2.1 锁的顺序问题错误示例:不同

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Java循环创建对象内存溢出的解决方法

《Java循环创建对象内存溢出的解决方法》在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError),所以本文给大家介绍了Java循环创建对象... 目录问题1. 解决方案2. 示例代码2.1 原始版本(可能导致内存溢出)2.2 修改后的版本问题在

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J