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.pswp.cn/web/11564.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/11564.shtml
英文地址,請注明出處:http://en.pswp.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…