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