分層剖析 Linux 核心如何觀測頁面存取並推論 Working Set
- 時間
- 2026-08-09 12:10 ~ 12:40
- 講者
- 曾偉誠
- 位置
- TR409-2
- 共筆
議程簡介
隨著 AI、雲端服務與大型應用持續推升記憶體需求,記憶體使用已不只是容量問題,也直接影響系統成本與執行效能。從個人電腦與行動裝置,到瀏覽器與 Electron 應用等日常軟體,「程式佔用大量記憶體」已成為使用者與開發者經常面對的問題。
然而,當我們在 Linux 上分析程式的記憶體使用時,通常會先觀察 RSS 或 PSS 等指標。這些指標可以描述程式目前駐留於實體記憶體的容量,卻難以回答「哪些資料仍屬於程式實際需要的 working set?」同時,在 Linux 核心中,page hotness 並沒有單一且通用的定義,而是核心根據 page access、aging、reclaim 與 refault 等訊號所做出的近似判斷。
因此本議程將透過可重現的實驗與核心追蹤,回到 Linux 的 Idle Page Tracking 和 mm/workingset.c 及其 MGLRU refault 路徑的關鍵實作,剖析核心如何觀察頁面存取、辨識頁面回收後的 refault,並將這些訊號轉化為 working set 推論與 reclaim 回饋。
講者
曾偉誠
CCU OS Lab