Google工程師提議將”Page Detective”作為新的Linux核心調試工具
Google軟體工程師Pasha Tatashin 提議將Page Detective 作為一種新的核心偵錯工具,該工具能夠更深入地了解實體記憶體頁面的使用和映射情況。 “頁面偵探”的初始代碼已以”徵求意見”的形式發布,並利用Linux DebugFS 介面提供虛擬地址和實體地址的相關資訊。
Page Detective 提供的這種洞察力可幫助開發人員和伺服器管理員了解系統的記憶體頁面使用情況,例如在處理記憶體問題時、 即時遷移過程中的校驗和故障、檔案系統日誌故障、分段故障以及其他可能的記憶體損壞情況。
“Page Detective 是一款核心偵錯工具,旨在提供有關Linux 核心中實體記憶體頁的使用和映射的深入資訊。 透過利用debugfs 接口,它使管理員和開發人員能夠調查記憶體頁面的狀態和分配。該工具對於診斷記憶體相關問題非常有價值,例如即時遷移過程中的校驗和錯誤、檔案系統日誌故障、分段故障以及其他形式的損壞。
用於Linux 頁面偵測的RFC 修補程式今天發佈在Linux 核心郵件清單上。 Pasha 在該補丁封面信中進一步解釋:
“Page Detective 是一種新的核心偵錯工具,可提供有關實體記憶體頁的使用和映射的詳細資訊。
人們通常知道某個特定頁面已損壞,但很難從即時系統中提取有關該頁面的更多資訊。 例如
– 即時遷移期間的校驗失敗
– 檔案系統日誌失敗
– 控制台日誌上的dump_page 警告
– 未偵測到的segfault
Page Detective 有助於從核心中提取更多資訊、 因此開發人員可以利用它找出相關問題的根源。
它透過Linux debugfs 介面運行,有兩個檔案:”virt”和”phys”:”
“virt”檔案接收虛擬位址和PID,並輸出對應頁面的資訊。
“phys”檔案接收實體位址,並輸出該頁面的資訊。
輸出透過內核日誌資訊(可使用dmesg 存取)顯示,包括頁面的引用計數、映射、標誌和記憶體cgroup 等資訊。 它還會顯示頁面是否在內核頁表中進行了映射,如果是,會顯示映射了多少次。 “
我們可以繼續觀察頁面檢測工作的進展,以及其他相關者是否對將其納入Linux 內核主線的當前形式感興趣。