COSCUP 2026 開源人年會

分層剖析 Linux Kernel 如何觀測記憶體存取行為並推論 Working Set
2026年8月9日 , TR409-2

隨著 AI、雲端服務與大型應用持續提升記憶體需求,記憶體占用已不只是容量問題,也直接關係到成本與效能。不論是在個人電腦、行動裝置,或瀏覽器、Electron 應用等日常軟體中,「程式占用大量記憶體」也是使用者與開發者常見的困擾。

然而,當我們在 Linux 上分析一個程式「用了很多記憶體」時,常會從 RSS、PSS 等指標開始觀察,但這些指標多半只能指出「目前佔用了多少記憶體」,卻難以回答「哪些 page 近期真的被存取」以及「哪些資料仍屬於程式的 working set」。

因此,本議程將從 memory access profiling 的角度切入,回到 Linux kernel 的 idle page tracking、DAMON 與 mm/workingset.c 之實作,分層剖析 kernel 如何透過底層訊號觀測與推論 workingset、記憶體冷熱分佈與 refault/reuse 行為。最後,使用 damo、idle_page_tracking 等開源工具設計實驗展示如何對記憶體存取行為進行觀測,並估計其 working set size。


難易度: 初學者

CCU OS Lab