Linux 6.9 將大幅加快擁有大量記憶體系統的啟動速度
與先前的核心相比,Linux 6.9核心將能以更快的速度啟動具有大量記憶體(尤其是使用HugeTLB 頁面)的系統,從而明顯縮短啟動時間。作為Linux 6.9 合併視窗記憶體管理(MM)更新的一部分,Linux 6.9 合併了一組補丁,用於在啟動時並行初始化HugeTLB 頁面。對於有大量HugeTLB 頁面的系統,這可以顯著縮短啟動時間。
位元組跳動公司的Linux 開發人員Gang Li 投入了大量時間,經過多輪審查,終於讓HugeTLB 頁面初始化成功。Gang Li 在早期的系列補丁中解釋說:
“啟動過程中的Hugetlb 初始化會佔用大量時間。例如,在一個2TB 系統上,初始化1,800 個1GB 巨大頁面需要10 秒中的1-2 秒。而在12TB 英特爾主機上初始化11776 個1GB 頁面則需要1分鐘以上。
受[延遲頁面初始化並行化]和[跳過巨型尾部結構頁面初始化]的啟發,hugetlb 初始化也可以透過並行化來加速。核心已經擁有padata_doo_multithreaded 等基礎架構,本補丁利用這些基礎架構,以最小的修改實現有效的結果。”
對於擁有大量HugeTLB 頁面的超大型伺服器來說,這可以大大節省啟動時間:
對於超大型伺服器和其他對服務可用性和系統正常運作時間要求極高的大型企業來說,在需要重新啟動系統的情況下,更快的啟動時間將帶來極大的好處。