Linux: 默认进程介绍

 

进程名称介绍
systemdSystemd 可以管理所有系统资源。不同的资源统称为 Unit(单位)。 Unit 一共分成12种。 systemctl list-units命令可以查看当前系统的所有 Unit
kthreaddkthreadd进程由idle通过kernel_thread创建,并始终运行在内核空间, 负责所有内核线程的调度和管理,它的任务就是管理和调度其他内核线程kernel_thread
这种内核线程只有一个,它的作用是管理调度其它的内核线程。
它在内核初始化的时候被创建,会循环运行一个叫做kthreadd的函数,该函数的作用是运行kthread_create_list全局链表中维护的kthread。可以调用kthread_create创建一个kthread,它会被加入到kthread_create_list链表中,同时kthread_create会weak up kthreadd_task。kthreadd在执行kthread会调用老的接口——kernel_thread运行一个名叫“kthread”的内核线程去运行创建的kthread,被执行过的kthread会从kthread_create_list链表中删除,并且kthreadd会不断调用scheduler 让出CPU。这个线程不能关闭。
kworker"kworker" 是 Linux 内核的工作线程,用于异步处理工作队列中的任务。这些任务包括处理硬件中断、文件系统事件、管理系统内存等
ksoftirqd在Linux内核中,ksoftirqd是一个专门用于处理软中断的线程。软中断是CPU在执行中断服务程序(ISR)期间产生的一种特殊事件,用于处理一些需要尽快完成的任务。ksoftirqd线程与硬中断处理线程(例如中断处理程序或底半部处理程序)共同协作,确保系统能够高效地响应各种硬件事件。
migration进程迁移就是将一个进程从当前位置移动到指定的处理器上。它的基本思想是在进程执行过程中移动它,使得它在另一个计算机上继续存取它的所有资源并继续运行,而且不必知道运行进程或任何与其它相互作用的进程的知识就可以启动进程迁移操作,这意味着迁移是透明的。
这种内核线程共有32个,从migration/0migration/31,每个处理器核对应一个migration内核线程,主要作用是作为相应CPU核的迁移进程,用来执行进程迁移操作,内核中的函数是migration_thread()
属于2.6内核的负载平衡系统,该进程在系统启动时自动加载(每个 cpu 一个),并将自己设为 SCHED_FIFO 的实时进程,然后检查 runqueue::migration_queue 中是否有请求等待处理,如果没有,就在 TASK_INTERRUPTIBLE 中休眠,直至被唤醒后再次检查。migration_thread() 仅仅是一个 CPU 绑定以及 CPU 电源管理等功能的一个接口。这个线程是调度系统的重要组成部分。
rcu_bhRCU锁机制。首先我们从概念上理解下什么叫RCU,其中读(Read):读者不需要获得任何锁就可访问RCU保护的临界区;拷贝(Copy):写者在访问临界区时,写者“自己”将先拷贝一个临界区副本,然后对副本进行修改;更新(Update):RCU机制将在在适当时机使用一个回调函数把指向原来临界区的指针重新指向新的被修改的临界区,锁机制中的垃圾收集器负责回调函数的调用。总结即是读-拷贝-更新。
rcu_sched
lru-add-drain
watchdogWatchDog是一种电子或软件定时器,用于检测计算机故障,并从计算机故障中恢复。在正常操作期间,计算机会定期重置看门狗计时器,以防止其丢失或“计时”。 如果由于硬件故障或程序错误而导致计算机无法重置看门狗,则计时器将丢失并生成超时信号, 超时信号会被用于启动一个或多个纠正措施。 纠正措施通常包括将计算机系统置于安全状态并恢复系统的正常运行。

这种内核线程共有32个,从watchdog/0到watchdog/31, 每个处理器核对应一个watchdog 内核线程,watchdog用于监视系统的运行,在系统出现故障时自动重新启动系统,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序。
在Linux 内核下, watchdog的基本工作原理是:当watchdog启动后(即/dev/watchdog设备被打开后),如果在某一设定的时间间隔(1分钟)内/dev/watchdog没有被执行写操作, 硬件watchdog电路或软件定时器就会重新启动系统,每次写操作会导致重新设定定时器。
netnsNetwork Namespace (以下简称netns)是Linux内核提供的一项实现网络隔离的功能,它能隔离多个不同的网络空间,并且各自拥有独立的网络协议栈,这其中便包括了网络接口(网卡),路由表,iptables规则等。例如大名鼎鼎的docker便是基于netns实现的网络隔离,今天我们就来手动实验一下netns的隔离特性。
kdevtmpfs
khungtaskdkdevtmpfsi 是一个挖矿病毒,大多数都是 redis 程序侵入,其利用Redis未授权或弱口令作为入口,使用主从同步的方式从恶意服务器上同步恶意module,之后在目标机器上加载此恶意module并执行恶意指令。
writebackwriteback进程是Linux内核中的一个常驻内存的线程,负责将dirty的数据刷新到磁盘。在Linux内核中有一个常驻内存的线程bdi_forker_thread,该线程负责为bdi_object创建writeback线程,同时检测如果writeback线程长时间处于空闲状态,bdi_forker_thread线程便会将其进行销毁。writeback线程被创建之后会处理等待的work。当以dirtyable memory作为ratio的基数计算得到的“脏页面”数目超过dirty limit,进程将阻塞进行同步的writeback,以避免其继续产生更多的dirty page。一个改进的做法是将「同步」变为「异步」:超过阈值后,强制进程(dirtier)休眠,由background的flusher thread来处理writeback
kintegrityd云主机 野进程kintegrityds大量占cpu资源, 安全
bioset很感谢腾讯云客服的排查,最终锁定了“bioset”。系统由于被感染的文件较多,Linux静态链接库被劫持,挖矿的进程被隐藏,所以直接是看不到的,最终我选择了将业务打包迁移后重装系统了。
kblockd这种内核线程共有32个,从kblockd/0到kblockd/31, 每个处理器核对应一个 kblockd 内核线程。用于管理系统的块设备,它会周期地激活系统内的块设备驱动。如果拥有块设备,那么这些线程就不能被去掉。
md
edac-pollerEDAC:主要用来检测物理内存 和 PCI硬件错误
kswapd0kswapd0是一个挖矿病毒的进程,可能与tke搭建k8s平台或者安装docker的过程有关。本文介绍了如何通过检查进程信息、根源、用户、cron等方式找出和清除kswapd0和rsync进程,并提供了一个可行的脚本检查
ksmd作为一个系统管理程序(hypervisor),Linux 有几个创新,2.6.32 内核中一个有趣的变化是 KSM(Kernel Samepage Merging) 允许这个系统管理程序通过合并内存页面来增加并发虚拟机的数量。本文探索 KSM 背后的理念(比如存储去耦合)、KSM 的实现、以及如何管理 KSM。
khugepaged处理大内存的性能关键计算应用程序工作集已经运行在libhugetlbfs之上,然后依次运行 hugetlbfs。透明的巨型页面支持是另一种使用大页为虚拟内存提供大页支持的方法, 该支持自动提升和降低页面大小和没有hugetlbfs的缺点。
crypto在Linux内核中提供了加密API,通过一组头文件crypto引出。整体的思路为首先创建加密上下文,并且在上下文中注册使用的算法,最后使用内核API完成加解密的操作。这里以散列计算和对称加密为例。
kthrotldkthread进程由idle通过kernel_thread ()创建,并始终运行在内核空间,负责所有内核线程的调度和管理。 kthread进程负责管理和调度其他内核线程,所有的内核线程都直接或间接以kthread为父进程。 我们利用ps和pstree来观察一下CentOS6.10系统上的进程。
kmpath_rdacd
kaluadkaluad是SCSI多径ALUA (非对称逻辑单元分配) 工作队列。它用于处理延迟的工作--基本上,每当一个操作产生“重试”结果时,就会将它添加到工作队列中,以便以后处理(在上面链接的源代码中查找
kpsmoused是Linux内核中的一个驱动程序,用于支持PS/2鼠标设备。它负责处理PS/2鼠标的输入事件,并将其转换为用户空间可读取的数据。
ipv6_addrconf
deferwq
kauditd
ata_sff
scsi_eh_0
scsi_tmf_0
scsi_eh_1
scsi_tmf_1
ttm_swap
kdmflush
xfsalloc
xfs_mru_cache
xfs-buf/dm-0
xfs-data/dm-0
xfs-conv/dm-0
xfs-cil/dm-0
xfs-cil/dm-0
xfs-reclaim/dm-
xfs-log/dm-0
xfs-eofblocks/d
xfsaild/dm-0
kworker/1:1H
hwrng
kvm-irqfd-clean
kworker
xfs-buf/vda1
xfs-data/vda1
xfs-conv/vda1
events这种内核线程共有32个,从events/0到events/31, 每个处理器核对应一个 events内核线程。用来处理内核事件很多软硬件事件(比如断电,文件变更)被转换为events,并分发给对相应事件感兴趣的线程进行响应。
rpciod这种内核线程共有32个,从rpciod/0到rpciod/31, 每个处理器核对应一个rpciod内核线程,主要作用是作为远过程调用服务的守护进程,用于从客户端启动I/O服务,通常启动NFS服务时要用到它。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/11564.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hbase基础操作Demo(Java版)

一、前置条件 HBase服务:【快捷部署】023_HBase(2.3.6)开发环境:Java(1.8)、Maven(3)、IDE(Idea 或 Eclipse) 二、相关代码 代码结构如上图中①和② pom.x…

vue项目中使用websocke即时通讯实现系统公告实时获取并提醒

一、使用场景 发布者设置需要发布的公告内容、公告接收用户和发布时间,到达发布时间时及时通知提醒已登录系统用户,使用websocke来实现前端与服务器保持长连接,以便实时过去公告信息。 WebSocket是一种在单个TCP连接上进行全双工通信的协议…

draw.io 网页版二次开发(1):源码下载和环境搭建

目录 一 说明 二 源码地址以及下载 三 开发环境搭建 1. 前端工程地址 2. 配置开发环境 (1)安装 node.js (2)安装 serve 服务器 3. 运行 四 最后 一 说明 应公司项目要求,需要对draw.io进行二次开发&…

盛最多水的容器(双指针)

解题思路: 1,暴力解法(超时) 我们可以使用两层for循环进行遍历。找到那个最大的面积即可,这里我就不写代码了,因为写了也是超时。 2,双指针法 先定义两个指针一个在最左端,一个在…

C++ 派生类的引入与特性

一 继承与派生 从上面的例子可以看出: 继承:一旦指定了某种事物父代的本质特征,那么它的子代将会自动具有哪些性质。这就是一种朴素的可重用的概念。 派生:而且子代可以拥有父代没有的特性,这是可扩充的概念。 1 C 的…

Today At Apple 2024.04.15 Phone15 入门

官网: https://www.apple.com/today/Apple 亚洲第一大商店:Apple 静安零售店现已在上海开幕如下预约课程:下载 Apple Store(不是app store),点击课程预约笔记:Today At Apple Notes果粉加群 &am…

Mybatis进阶详细用法

目录 条件构造器 案例 自定义SQL 案例 Service接口 案例 综合案例 条件构造器 案例 Testvoid testQueryMapper() {// 创建 QueryWrapper 实例QueryWrapper<User> queryWrapper new QueryWrapper<>();queryWrapper.select("id," "username,&…

Postman基础功能-变量设置与使用

如果你因失去太阳而流泪&#xff0c;那你也将失去群星了。大家好&#xff0c;在 API 测试的广袤世界中&#xff0c;Postman 犹如一座闪耀的灯塔&#xff0c;为我们指引着前行的方向。而其中的全局变量、集合变量和环境变量&#xff0c;更是如同隐藏的宝藏&#xff0c;蕴含着巨大…

电商秒杀系统设计

业务流程 系统架构 系统挑战 高并发:秒杀活动会在短时间内吸引大量用户,系统需要能够处理高峰时期的大量并发请求 库存同步:在秒杀中,面临的一个严重系统挑战是如何确保在数以万计的用户同时抢购有限的商品时,如何正确、实时地扣减库存,以防止超卖现象。 防止恶意抢购和…

猫头虎分享已解决Error || ERROR: Failed building wheel for XXX

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

系统定时器(SysTick)

介绍SysTick SysTick结构框图 时钟选择 计数器部分 中断部分 工作流程 相关寄存器 配置流程 相关库函数

centos无法tab补全至文件

很奇怪的需求&#xff1a;redhat 7.9版本用cd 只能到目录&#xff0c;无法到文件 我个人认为不是个问题&#xff0c;但是甲方需求&#xff0c;你懂的 首先&#xff0c;我们要搞清楚tab补全功能的包bash-completion是否安装&#xff0c;这里肯定是安装了&#xff0c;不过还是看…

你了解手机设备的dpr吗?它和CSS又有什么联系?

当我们在前端开发中涉及到devicePixelRatio时&#xff0c;我们实际上在谈论屏幕像素密度&#xff0c;即每英寸的像素数。这个属性告诉我们在一个设备上的一个CSS像素对应多少物理像素。 目录 知识点概览 dpr值的计算 dpr的用处 知识点概览 比如我们新买了一个手机&#xff0…

vue vite 环境非构建包编译 React 报错定位

1. 背景 众所周知&#xff0c;vite 在构建生态的位置&#xff0c;vue 与之更是密切&#xff0c;主流的 vue 库几乎都与 vite 捆绑。 但有些 UI 库 如 private/ui 并没进行行编译&#xff0c;而是直接将源码发布到了 npm 中&#xff0c;无法实现兼容化&#xff0c;需要消费方去…

vs-qt中无法加载qsqlite驱动,但是单独新建demo测试却又是正常的。。。

开发环境: Vs2015 + qt5.12 背景: 接手了一个项目,可以编译过去,也可以运行,, 但是登录一直失败,,但是数据库文件也是正常的。。。 最主要的是环境和同事的是一样的,,,但是他那边可以加载成功,我这边不可以。。 后来单独在vs中创建了一个demo,用来测试QSqlData…

Ubuntu虚拟机上推荐一款免费好用的git版本管理工具

工具叫: gitg 软件界面如下&#xff1a; FR:徐海涛(hunkxu)

开眼了,自动化测试还能这样用?

持续集成的自动化测试通常需要将代码、测试用例与持续集成工具进行绑定&#xff0c;以实现自动运行。然而&#xff0c;Apipost的自动化测试功能需要手动操作&#xff0c;并且需要手动查看测试结果。 为了解决这个问题&#xff0c;Apipost推出了持续集成功能&#xff0c;方便同…

【Shell】正则表达式的操作实例

正则表达式是一个描述一组字符串的模式 是由普通字符和元字符组成的字符集&#xff0c;而这个字符集匹配&#xff08;或指定&#xff09;一个模式。 正则表达式的操作实例 &#xff08;一&#xff09;概述1.定义2.作用3.类型 &#xff08;二&#xff09;字符串匹配实例&#xf…

【论文阅读】Machine Learning, Linear Algebra, and More: Is SQL All You Need?

文章目录 摘要一、介绍二、SQL算法原语2.1、Variables2.2、Functions2.3、Conditions2.4、Loops2.5、Errors 三、案例研究3.1、对数据库友好的SQL映射3.2、性能结果 四、结论以及未来工作 摘要 尽管SQL在简单的分析查询中无处不在&#xff0c;但它很少用于更复杂的计算&#xf…

文件流-ASCII文件(中北大学-程序设计基础(2))

目录 题目 源码 结果示例 题目 编写程序实现以下功能&#xff1a;【要求处理ASCII文件】 &#xff08;1&#xff09;按职工号由小到大的顺序将5个员工的数据&#xff08;包括号码、姓名、年龄和工资&#xff09;输出到磁盘文件中保存&#xff1b; &#xff08;2&#xff…