11 月 1 日,第二十屆中國 Linux 內(nèi)核開發(fā)者大會(CLK)在深圳舉辦。CLK 作為國內(nèi) Linux 內(nèi)核領域極具影響力的峰會,由清華大學、Intel、華為、阿里云、富士通南大、迪捷軟件、騰訊云、OPPO、字節(jié)跳動、vivo、螞蟻集團、龍芯中科等企業(yè)發(fā)起,以“自由,協(xié)作,創(chuàng)新”為理念,以開源技術的推廣和普及為使命,旨在促進Linux內(nèi)核開發(fā)愛好者相互交流、共同進步。
本屆大會上,deepin(深度)社區(qū)內(nèi)核技術研發(fā)工程師徐浪帶來 “基于 eBPF 的多線程系統(tǒng)信息采集優(yōu)化” 主題演講,分享的創(chuàng)新方案引發(fā)現(xiàn)場熱議。
在現(xiàn)代Linux操作系統(tǒng)當中,內(nèi)核提供的眾多虛擬文件系統(tǒng)的接口節(jié)點,供用戶態(tài)應用程序采集系統(tǒng)內(nèi)核信息,這些節(jié)點能提供豐富的系統(tǒng)信息,常見的有procfs、sysfs、debugfs等虛擬文件系統(tǒng)。然而,正因為這些節(jié)點是基于文件系統(tǒng)的,訪問這些節(jié)點需要經(jīng)過完整的文件系統(tǒng)調(diào)用路徑(open/read/close),對于procfs,在一些應用密集型的終端場景中,采集系統(tǒng)進程信息將會產(chǎn)生海量系統(tǒng)調(diào)用,過程將變得尤為低效。
針對這一痛點,徐浪提出的 eBPF 優(yōu)化方案,核心圍繞四步破解效率難題:
一是構建 eBPF 采集程序加載至內(nèi)核。依托 eBPF 可在內(nèi)核態(tài)運行自定義程序的特性,將進程 PID、內(nèi)存占用等采集邏輯封裝其中,直接在內(nèi)核層完成數(shù)據(jù)抓取,避免用戶態(tài)與內(nèi)核態(tài)頻繁切換,降低基礎開銷。
二是搭建 eBPF 共享內(nèi)存存數(shù)據(jù)。采集到的信息直接存入專屬共享內(nèi)存,實現(xiàn) “一次寫入、多次讀取”,跳過文件 I/O 的繁瑣流程,縮短數(shù)據(jù)流轉路徑。
三是共享內(nèi)存映射至多用戶態(tài)程序。多個監(jiān)控、調(diào)試工具可直接將共享內(nèi)存映射到自身地址空間,無需額外系統(tǒng)調(diào)用,實現(xiàn) “一次采集、多端共享”。
四是優(yōu)化eBPF鏈接重定向邏輯,提升eBPF加載速度及實例的復用率,降低內(nèi)存占用。
實測數(shù)據(jù)更印證方案價值:在 2W+ 進程的模擬場景中,傳統(tǒng)方案遍歷所有進程需百萬級系統(tǒng)調(diào)用,而該方案僅需千級;采集時間降低超 2 個數(shù)量級,高并發(fā)下系統(tǒng)仍能流暢響應
作為國內(nèi)知名 Linux 發(fā)行版社區(qū),deepin 始終聚焦開源技術落地。此次分享的 eBPF 方案,既是團隊解決實際痛點的創(chuàng)新成果,也為全球開源社區(qū)提供了可復用經(jīng)驗,完美契合 CLK“自由,協(xié)作,創(chuàng)新” 的理念。未來,隨著 eBPF 等技術成熟,Linux 系統(tǒng)將在更多場景釋放潛力,為開源生態(tài)發(fā)展注入新動力。
-
內(nèi)核
+關注
關注
4文章
1467瀏覽量
42864 -
Linux
+關注
關注
88文章
11756瀏覽量
218997 -
操作系統(tǒng)
+關注
關注
37文章
7401瀏覽量
129275
原文標題:deepin 亮相第二十屆 CLK 大會:用 eBPF 破解 Linux 信息采集效率難題
文章出處:【微信號:linux_deepin,微信公眾號:深度操作系統(tǒng)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
deepin亮相2025中國Linux內(nèi)核開發(fā)者大會
評論