进程名称 | 介绍 |
systemd | Systemd 可以管理所有系统资源。不同的资源统称为 Unit(单位)。 Unit 一共分成12种。 systemctl list-units命令可以查看当前系统的所有 Unit |
kthreadd | kthreadd进程由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/0到migration/31,每个处理器核对应一个migration内核线程,主要作用是作为相应CPU核的迁移进程,用来执行进程迁移操作,内核中的函数是migration_thread() 属于2.6内核的负载平衡系统,该进程在系统启动时自动加载(每个 cpu 一个),并将自己设为 SCHED_FIFO 的实时进程,然后检查 runqueue::migration_queue 中是否有请求等待处理,如果没有,就在 TASK_INTERRUPTIBLE 中休眠,直至被唤醒后再次检查。migration_thread() 仅仅是一个 CPU 绑定以及 CPU 电源管理等功能的一个接口。这个线程是调度系统的重要组成部分。 |
rcu_bh | RCU锁机制。首先我们从概念上理解下什么叫RCU,其中读(Read):读者不需要获得任何锁就可访问RCU保护的临界区;拷贝(Copy):写者在访问临界区时,写者“自己”将先拷贝一个临界区副本,然后对副本进行修改;更新(Update):RCU机制将在在适当时机使用一个回调函数把指向原来临界区的指针重新指向新的被修改的临界区,锁机制中的垃圾收集器负责回调函数的调用。总结即是读-拷贝-更新。 |
rcu_sched | |
lru-add-drain | |
watchdog | WatchDog是一种电子或软件定时器,用于检测计算机故障,并从计算机故障中恢复。在正常操作期间,计算机会定期重置看门狗计时器,以防止其丢失或“计时”。 如果由于硬件故障或程序错误而导致计算机无法重置看门狗,则计时器将丢失并生成超时信号, 超时信号会被用于启动一个或多个纠正措施。 纠正措施通常包括将计算机系统置于安全状态并恢复系统的正常运行。 这种内核线程共有32个,从watchdog/0到watchdog/31, 每个处理器核对应一个watchdog 内核线程,watchdog用于监视系统的运行,在系统出现故障时自动重新启动系统,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序。 在Linux 内核下, watchdog的基本工作原理是:当watchdog启动后(即/dev/watchdog设备被打开后),如果在某一设定的时间间隔(1分钟)内/dev/watchdog没有被执行写操作, 硬件watchdog电路或软件定时器就会重新启动系统,每次写操作会导致重新设定定时器。 |
netns | Network Namespace (以下简称netns)是Linux内核提供的一项实现网络隔离的功能,它能隔离多个不同的网络空间,并且各自拥有独立的网络协议栈,这其中便包括了网络接口(网卡),路由表,iptables规则等。例如大名鼎鼎的docker便是基于netns实现的网络隔离,今天我们就来手动实验一下netns的隔离特性。 |
kdevtmpfs | |
khungtaskd | kdevtmpfsi 是一个挖矿病毒,大多数都是 redis 程序侵入,其利用Redis未授权或弱口令作为入口,使用主从同步的方式从恶意服务器上同步恶意module,之后在目标机器上加载此恶意module并执行恶意指令。 |
writeback | writeback进程是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-poller | EDAC:主要用来检测物理内存 和 PCI硬件错误 |
kswapd0 | kswapd0是一个挖矿病毒的进程,可能与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完成加解密的操作。这里以散列计算和对称加密为例。 |
kthrotld | kthread进程由idle通过kernel_thread ()创建,并始终运行在内核空间,负责所有内核线程的调度和管理。 kthread进程负责管理和调度其他内核线程,所有的内核线程都直接或间接以kthread为父进程。 我们利用ps和pstree来观察一下CentOS6.10系统上的进程。 |
kmpath_rdacd | |
kaluad | kaluad是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服务时要用到它。 |