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,一经查实,立即删除!

相关文章

H5利用微信开放标签唤起用户手机APP

APP壳子分享网页到微信,被分享人在微信打开网页后,利用公众号配置微信开放标签[wx-open-launch-app],实现唤起APP 一、Vue2.x(2.6.11) 1. main.js // main.jsimport Vue from vue;Vue.config.ignoredElements [wx-o…

Hbase基础操作Demo(Java版)

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

IO—消息队列+管道

使用消息队列实现的2个终端之间的互相聊天 并使用信号控制消息队列的读取方式: 当键盘按ctrlc的时候,切换消息读取方式,一般情况为读取指定编号的消息,按ctr1c之后,指定的编号不读取,读取其他所有编号的消息 wftok.c …

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

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

调用Mertc的接口

概述 metaRTC5.0版本 API进行了重构,本篇文章将介绍webrtc传输调用流程和例子。 metaRTC5.0版本提供了C和纯C两种接口。 ICE设置 iceCandidateType参数可以在配置文件yang_config.ini中配置,也可以在程序中赋值。 iceCandidateType0 //0:host 1:stun 2…

2024最新大厂C++面试真题合集,大厂面试百日冲刺 bay9

腾讯实习 指针常量和常量指针 常量指针(const Type* ptr):指针指向的内容不能被改变,但指针本身可以改变指向。 指针常量(Type* const ptr):指针自身的值即内存地址不能改变,但指向…

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

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

电商后台的秘密:通过API接口提取商品信息

在电子商务的运营中,后台管理是核心环节,而API接口则是高效管理商品信息的关键。API允许商家直接与电商平台的数据库进行交互,实现数据的自动化提取和更新。 一、电商后台管理的核心作用 电商后台管理系统是商家进行商品展示、订单处理、库…

存储过程、触发器和函数

存储过程、触发器和函数在数据库中具有重要的作用,它们可以带来以下几个方面的重要性: 数据一致性和完整性: 触发器和存储过程可以用于实现数据一致性和完整性约束。通过在数据库操作(如插入、更新、删除)发生时自动执…

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

解题思路: 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,&…

uniapp经验

uniapp-ts模版在前端/vue文件夹下 npx dcloudio/uvmlatest 安装依赖 之后tsconfig.json会报错&#xff0c;可以在tsconfig.json文件中"compilerOptions"配置项内添加"ignoreDeprecations": "5.0"&#xff0c;解决。 ### 编译和运行 uni-app 项目…

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

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

以太网网络变压器型号

Hqst华强盛导读&#xff1a;以太网网络变压器的型号通常由一系列数字和字母组成&#xff0c;其中包括以下信息&#xff1a; 额定电压&#xff1a;表示变压器的额定输入和输出电压&#xff0c;通常以伏特&#xff08;V&#xff09;为单位。 额定电流&#xff1a;表示变压器的额定…

0513_IO7

练习1&#xff1a; 使用消息队列实现的2个终端之间的互相聊天 并使用信号控制消息队列的读取方式&#xff1a; 当键盘按ctrlc的时候&#xff0c;切换消息读取方式&#xff0c;一般情况为读取指定编号的消息&#xff0c;按ctrlc之后&#xff0c;指定的编号不读取&#xff0c;读取…

孩子多大可以接触python?学习python的好处

孩子接触Python的年龄并没有明确的界限&#xff0c;一般来说&#xff0c;6岁以上的孩子可以开始学习Python编程。虽然Python是一门高级编程语言&#xff0c;但它的语法简单易懂&#xff0c;适合初学者入门。通过学习Python编程&#xff0c;孩子可以培养逻辑思维、创造力和解决问…

电商秒杀系统设计

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

前端 JS 经典:JS 基础类型和 typeof

前言&#xff1a;JS 基础类型就 8 种&#xff0c;这是官方确定的&#xff0c;毋庸置疑。其中原始类型 7 种&#xff0c;对象类型 1 种。而 typeof 关键字是用来判断数据是属于什么类型的。 1. 原始类型 Number、Boolean、String、BigInt、symbol、Undefined、null typeof 18…