服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - 运维人员必须知道的十个系统进程

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

2023-12-13 14:43步步运维步步坑 Linux

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

前言

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

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

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

如下图所示:

运维人员必须知道的十个系统进程图片

  • kswapd0系统定时唤醒kswapd,检查内存是否紧张,如果不紧张,则睡眠,在kswapd中,有2个阀值:pages_hige,pages_low,空闲内存页数量低于pages_low的时,kswapd进程会扫描内存并且每次释放出32个free pages,直到free page的数量到达pages_high标准
  • kjournaldkjournald有三种模式,分别是journal,ordered,和writebackjournal:最慢的一种模式,主要记录所有文件系统上的元数据改变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

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

  • migrationmigration/0-migration/31共有32个内核现场,每个处理器核对应一个migration内核线程,主要作为相应CPU核的迁移进程,用来执行进程迁移操作,内核中的函数是migration_thread();该进程在系统启动时自动加载(每个 cpu 一个),并将自己设为 SCHED_FIFO 的实时进程,然后检查 runqueue::migration_queue 中是否有请求等待处理,如果没有,就在 TASK_INTERRUPTIBLE 中休眠,直到被唤醒后再次检查。migration_thread() 仅仅是一个 CPU 绑定以及 CPU 电源管理等功能的一个接口。这个线程是调度系统的重要组成部分。
  • watchdogwatchdog/0-watchdog/31总共32个内核线程, 每个处理器核心对应一个watchdog 内核线程,主要用于监视系统的运行,在系统出现故障时自动重新启动系统,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序。其基本工作原理是:当watchdog启动后(即/dev/watchdog设备被打开后),如果在某个时间间隔(1分钟)内/dev/watchdog没有被执行写操作, 硬件watchdog电路或软件定时器就会重新启动系统,每次写操作会导致重新设定定时器。
  • eventsevents/0-events/31, 总共32个内核线程,每个处理器核对应一个 events内核线程。主要用作处理内核事件很多软硬件事件(比如断电,文件变更)被转换为events,并分发给对相应事件感兴趣的线程进行响应。
  • kblockdkblockd/0-kblockd/31, 总共32个内核线程 ,每个处理器核对应一个 kblockd 内核线程,用于管理系统的块设备,它会周期性的激活系统内的块设备驱动
  • aioaio/0-aio/31, , 总共32个内核线程,每个处理器核对应一个 aio 内核线程, 代替用户进程管理I/O,用以支持用户态的AIO(异步I/O)注意:此线程不应该被关闭。
  • rpciodrpciod/0-rpciod/31, 总共32个内核线程, 每个处理器核对应一个rpciod内核线程,主要作为远程调用服务(如NFS)的守护进程,用于从客户端启动I/O服务

原文地址:https://mp.weixin.qq.com/s/fgIuUi86T9euVEOI3Bd_fg

延伸 · 阅读

精彩推荐
  • LinuxLinux下php连接SQLServer 2000数据库的配置方法

    Linux下php连接SQLServer 2000数据库的配置方法

    Linux服务器中的php程序能够连接到Windows服务器中的SQL Server 2000数据库,这里分享下配置方法,需要的朋友可以参考下...

    Osyunwei9052021-09-29
  • Linuxlinux中rmdir命令使用详解

    linux中rmdir命令使用详解

    这篇文章主要详细介绍了linux中rmdir命令使用方法以及示例,十分的全面,这里推荐给想学习linux命令的小伙伴...

    Linux教程网10202021-10-22
  • Linux常用Linux命令收集整理

    常用Linux命令收集整理

    这篇文章主要介绍了linux常用命令,很多包括了系统的配置等命令,内容过多大家可以用ctrl+F搜索 ...

    Linux命令大全2882019-12-02
  • LinuxLinux下安装Python3.6及避坑指南

    Linux下安装Python3.6及避坑指南

    这篇文章主要介绍了Linux下Python3.6的安装及避坑指南,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下...

    良许Linux6072022-09-03
  • Linux详解在Linux下搭建Git服务器

    详解在Linux下搭建Git服务器

    本篇文章主要介绍了详解在Linux下搭建Git服务器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    岳永10212022-01-07
  • LinuxLinus Torvalds称转向GPLv2协议对Linux的发展至关重要

    Linus Torvalds称转向GPLv2协议对Linux的发展至关重要

    随着 Linux 到了“而立之年”,两人也再次相约碰面。采访期间,Linus Torvalds 提出了一个相当重要的观点 —— 即 1992 年初作出的转向 GPLv2 协议的决定,对...

    cnbeta7612021-09-02
  • LinuxLinux命令 sort、uniq、tr工具详解

    Linux命令 sort、uniq、tr工具详解

    这篇文章主要介绍了Linux命令 sort、uniq、tr工具详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友...

    Ora.2642020-07-28
  • Linux如何在linux系统下配置无线网卡?

    如何在linux系统下配置无线网卡?

    本文介绍在Linux 命令行界面中手动配置无线网卡的方法。目前流行的多数发行版都支持用图形界面的network- manager方便地进行配置,而无需使用本文所介绍的...

    Linux教程网10532019-12-24