前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kswapd0进程占用大量cpu

kswapd0进程占用大量cpu

作者头像
Qicloud-W
发布2024-05-19 13:40:15
560
发布2024-05-19 13:40:15
举报
文章被收录于专栏:七云's Blog七云's Blog

前言

一直在忙,之前一直怀疑机器中马,kswapd0这个进程4核心CPU24小时跑满单核心,简单排查无果,看了

简单处理

Linux 安装杀毒软件 ClamAV 前两天有小伙伴找到杜老师询问是否可以帮忙查杀服务器的木马病毒,原因是凉心云的安全中心提示有病毒,但自动查杀功能要付费,而且费用较高。正好杜老师最近在研究 Linux 平台的杀毒软件,分享一下 ClamAV 的使用方法。

这篇文章,安装排查后无果,记得在哪看过kswapd0挖矿病毒;度娘了一下

彻底删除挖矿病毒kswapd0 来源于知乎

各种尝试无果后,因为忙,再加上也没发现破坏数据和对外发包,屏蔽了大量出口IP后也就丢下没管了;

排查并解决

直到今天,终于闲下来,使用top命令查看,依旧单个核心100%跑满,真忍不了了,查了下网卡连接ip

代码语言:javascript
复制
netstat -antlp

并未发现异常IP,后继续通过ls -l命令查看kswapd0进程是否有软连接 到这里其实就已经很奇怪了,并没有发现软连接;

好!继续查!!!

查看swappiness参数

代码语言:javascript
复制
cat /proc/sys/vm/swappiness

好嘛,到这里终于是大概猜到什么原因了,那继续!

代码语言:javascript
复制
vim /proc/sys/vm/swappiness
# 修改vm.swappiness 值 越小使用swap越小尽量会使用物理内存默认值60根据需求修改即可
代码语言:javascript
复制
# 重新启用所有已定义的交换空间
# 也可以说是清理swap
centos swapoff -a && swapon -a

到这里再次查看top命令,发现杀不掉的kswapd0进程没了,CPU占用也下去了;

image
image

说下为什么吧

可能看到这里,有些朋友会云里雾里的(Tip:相信我,我不是故意忘记截图的)

缓存机制介绍

Linux 中的缓存机制是指操作系统使用物理内存的一部分来存储最近访问的数据的一种机制。这些数据通常是从文件系统读取的文件块、执行的程序、网络数据等。Linux 的缓存机制有助于提高系统性能,因为它可以减少对慢速存储设备(如硬盘)的访问次数。

Linux 的缓存机制包括以下几个方面:

页缓存(Page Cache​:

页缓存是内核用来缓存文件系统中的数据块的主要机制。当应用程序读取文件时,内核会将文件的数据块缓存到内存中,以便下次访问同一数据时可以更快地获取。如果内存不足,内核会根据一定的置换策略(如LRU)来释放缓存中的页。

目录项缓存(Dentry Cache​:

目录项缓存用于缓存文件系统中目录项的信息,包括文件名、文件属性等。这样可以加速文件系统的路径查找和文件访问操作。

Inode 缓存​:

Inode 缓存用于缓存文件系统中 Inode 结构的信息,包括文件的元数据(如文件大小、权限、所有者等)。这样可以加速文件系统的访问操作,减少对硬盘的访问次数。

Swap 缓存​:

Swap 缓存是指将内存中不常用的数据移动到交换空间(硬盘)中的一种机制。虽然不严格属于缓存,但它是 Linux 系统用来扩展虚拟内存的一种方式。

结言

Linux 的缓存机制是通过在内核中实现的,它们都可以自动管理,并且在系统运行时根据需要动态调整。这些缓存机制的存在可以显著提高系统的性能和响应速度,特别是在频繁读取相同数据的情况下。

当物理内存不足时,内核会试图释放缓存区(buffers/cache)里长时间不用的程序,并将其放入 Swap 空间中。然而,如果系统的 swappiness 值被设置为 0,即系统倾向于不使用 Swap,但又没有足够的可用内存,这会导致 kswapd0 进程陷入死循环状态。

swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。linux的基本默认设置为60

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 简单处理
    • 排查并解决
      • 查看swappiness参数
      • 说下为什么吧
        • 缓存机制介绍
          • ​页缓存(Page Cache​:
          • 目录项缓存(Dentry Cache​:
          • ​Inode 缓存​:
          • ​Swap 缓存​:
      • 结言
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档