运维人员必须知道的10个系统进程

前言

在日常运维工作中,经常会看到一些奇怪的系统进程占用资源比较高,但是又不敢随意的Kill这些进程

而这些系统级的内核进程都是会用中括号括起来的,它们会执行一些系统的辅助功能(如将缓存写入磁盘);

无括号的进程都是用户们执行的进程(如java、nginx等)

如下图所示:

运维人员必须知道的10个系统进程

  • kswapd0

    系统定时唤醒kswapd,检查内存是否紧张,如果不紧张,则睡眠,在kswapd中,有2个阀值:pages_hige,pages_low,空闲内存页数量低于pages_low的时,kswapd进程会扫描内存并且每次释放出32个free pages,直到free page的数量到达pages_high标准


  • kjournald

    kjournald有三种模式,分别是journal,ordered,和writeback

    journal:最慢的一种模式,主要记录所有文件系统上的元数据改变

    ordered:默认使用的模式,只记录文件系统改变的元数据,并且是在改变前记录日志

    writeback :最快的一种模式,同样只记录修改过的元数据,依赖标准文件系统写进程将数据写到硬盘


  • pdflush

    主要用于将内存中的内容和文件系统进行同步。

    比如说:当一个文件在内存中进行修改,pdflush负责将它写回硬盘。每当内存中的垃圾页(dirty page)超过10%的时候,pdflush就会将这些页面备份回硬盘。

    此比率通过通过/etc/sysctl.conf中的 vm.dirty_background_ratio项默认值为10

 


  • kthreadd

    内核初始化的时候被创建的一个内核线程,其作用是管理调度其它内核线程。

    它会循环运行一个叫做kthreadd的函数,该函数的作用是运行kthread_create_list全局链表中维护的kthread,然后可以调用kthread_create创建一个kthread,它会被加入到kthread_create_list链表中,同时kthread_create会weak up kthreadd_task

注意:这个线程不能关闭!!!


  • migration

    migration/0-migration/31共有32个内核现场,每个处理器核对应一个migration内核线程,主要作为相应CPU核的迁移进程,用来执行进程迁移操作,内核中的函数是migration_thread();该进程在系统启动时自动加载(每个 cpu 一个),并将自己设为 SCHED_FIFO 的实时进程,然后检查 runqueue::migration_queue 中是否有请求等待处理,如果没有,就在 TASK_INTERRUPTIBLE 中休眠,直到被唤醒后再次检查。

    migration_thread() 仅仅是一个 CPU 绑定以及 CPU 电源管理等功能的一个接口。这个线程是调度系统的重要组成部分。

  • watchdog

    watchdog/0-watchdog/31总共32个内核线程, 每个处理器核心对应一个watchdog 内核线程,主要用于监视系统的运行,在系统出现故障时自动重新启动系统,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序。其基本工作原理是:当watchdog启动后(即/dev/watchdog设备被打开后),如果在某个时间间隔(1分钟)内/dev/watchdog没有被执行写操作, 硬件watchdog电路或软件定时器就会重新启动系统,每次写操作会导致重新设定定时器。


  • events

    events/0-events/31, 总共32个内核线程,每个处理器核对应一个 events内核线程。主要用作处理内核事件很多软硬件事件(比如断电,文件变更)被转换为events,并分发给对相应事件感兴趣的线程进行响应。


  • kblockd

    kblockd/0-kblockd/31, 总共32个内核线程 ,每个处理器核对应一个 kblockd 内核线程,用于管理系统的块设备,它会周期性的激活系统内的块设备驱动


  • aio

    aio/0-aio/31, , 总共32个内核线程,每个处理器核对应一个 aio 内核线程, 代替用户进程管理I/O,用以支持用户态的AIO(异步I/O)

    注意:此线程不应该被关闭。


  • rpciod

    rpciod/0-rpciod/31, 总共32个内核线程, 每个处理器核对应一个rpciod内核线程,主要作为远程调用服务(如NFS)的守护进程,用于从客户端启动I/O服务

原创文章,作者:AIRF,如若转载,请注明出处:http://www.ai-rf.com/index.php/2023/12/16/%e8%bf%90%e7%bb%b4%e4%ba%ba%e5%91%98%e5%bf%85%e9%a1%bb%e7%9f%a5%e9%81%93%e7%9a%8410%e4%b8%aa%e7%b3%bb%e7%bb%9f%e8%bf%9b%e7%a8%8b/

(0)
AIRFAIRF
上一篇 2023年12月16日
下一篇 2023年12月16日

相关推荐

  • Python自动化Cc压测攻击脚本V2

    仅供压测自己服务器使用,不得用于非法攻击 CCATK-V1 使用socks4 / 5代理攻击http服务器的脚本。 删除了混合代理洪水 新特性: 快速套接字重用 改进的CC模式 随…

    2023年8月31日
  • win10反复提示显示输入信号超出有效范围1680*1050@60Hz

    前言 PC电脑直接断电后再次开机提示显示输入信号超出有效范围 解决步骤(通用) 右键—-显示设置—-高级显示设置 显示器的显示适配器属性-列出所有模式 选择…

    Windows 2023年6月25日
  • Linux系统的Swap Buffer和Cache

    在Linux系统中,我们经常用free命令来查看系统内存的使用状态。在一个 CoreOS 的系统上,free命令的显示内容大概是这样一个状态: core@localhost ~ $…

    Linux 2022年10月1日
  • uefi和legacy的区别有哪些

    我也是因为这两天安装Windows系统时,硬盘大于4T且默认安装使用的MBR模式,导致RAID的4T空间只能分出2T的空间,最后把服务器模式更改为UEFI,并且需要把U盘的格式从N…

    2023年3月7日
  • Windows Server 从Evaluation评估版转换成正式版及激活方法

    Windows Server评估的升级限制 在将Windows Server Evaluation转换为完整版之前,您需要了解一些升级限制: 只能转换Windows Server的…

    Windows 2023年7月14日
  • 为什么建议使用UUID进行挂载硬盘

    UUID简介 通用唯一识别码(英语:Universally Unique Identifier,简称UUID),UUID为Linux系统中的存储设备提供唯一的标识字符串,不管这个设…

    Linux 2023年1月6日
  • Redhat 7 LVM xfs文件系统修复

    一.情况描述 服务器重启操作系统后自动进入急救模式(单用户模式),进入后ip a查看lo网卡,df -h查看分区发现只存在lv_root,报错图如下 XFS(sdb1): Inte…

    Linux 2021年11月21日
  • Linux系统中普通用户获取root权限

    一.原因 因公司服务器已被安全程序纳管,如需使用root权限需登录堡垒机后才可使用,因环境所需,故使用root登录修改普通用户admin的权限,将其提升为root权限。 二.步骤 …

    2021年11月21日
  • Linux系列基础教程(二)-Linux 简介

    Linux 简介 Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。 Linux 是一套免费使用和自由传播的类…

    Linux 2022年9月25日
  • 学了这么久的Linux系统调用你知道多少?

    Linux系统中, 用户程序可以通过系统调用接口请求内核提供服务,这些服务可能会修改硬件状态,管理文件系统,或者对进程进行同步等操作。用户程序在执行过程中,如果需要使用系统调用,可…

    Linux 2024年1月10日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注