今年 10 月份,騰訊的工程師曾提出了一個將 DMEMFS 作為 Linux "直接內存文件系統(Direct Memory File-System)" 的提案。目前,騰訊已針對那些最初的 DMEMFS 內核補丁進行了更新。並表示,他們將繼續努力把這個功能引入 Linux 內核。
DMEMFS 可將一些不由內核管理的內存保留下來,避免無謂開銷,進而將其直接暴露給雲端的虛擬機。
正如 phoronix 所述,騰訊的 DMEMFS 重點在於為了避免傳統上與每個物理內存相關聯的結構頁所節省的內存位。對於現在的高端臺式機來說這很微小,開銷也不大。但是當涉及到大規模的伺服器和其他超大規模的部署時,其節省的內存是相當可觀的。
據騰訊工程師估計,在一臺擁有 320G 內存的伺服器上,通過避開每一個物理頁面的 struct 頁面用於客用內存,最多可以通過 DMEMFS 節省大約 5G 的內存。
DMEMFS 可以在系統內存中劃出定義的部分,然後保留下來,可以像傳統的 Linux 文件系統一樣掛載用戶空間訪問。然後,QEMU 可以被配置為在啟動虛擬機時使用該安裝的 DMEMFS 區域作為內存備份存儲。
這是自 10 月以來對 DMEMFS 的第一個更新補丁集,直接內存文件系統補丁已經針對 Linux 5.10 Git 重新進行了調整,並進行了其他底層改進。此實現總計超過 3 千多行代碼。
與此同時,騰訊的開發人員也在等待對這些補丁進行第二輪審查。
更多詳情可查看:https://lkml.org/lkml/2020/12/7/342