UKSMLinux 內(nèi)核
Linux UKSM 是國人自主研發(fā)的一個(gè) Linux 內(nèi)核相關(guān)項(xiàng)目,這個(gè)項(xiàng)目對服務(wù)器和桌面應(yīng)用都可以顯著的減少 Linux 系統(tǒng)冗余的內(nèi)存,已經(jīng)在 RHEL6、CentOS 6、Ubuntu 12.04 等系統(tǒng)充分驗(yàn)證和測試過。
Linux相同頁面合并機(jī)制(KSM)使得內(nèi)存中相同的頁面,可以通過修改頁表的方式合并成一個(gè)。通常這個(gè)機(jī)制被應(yīng)用在有眾多虛擬機(jī)(目前僅支持 KVM)或者有很多冗余內(nèi)存數(shù)據(jù)的場景(如有很多類似數(shù)據(jù)工作集的并行科學(xué)計(jì)算)里面。但是,目前它的實(shí)現(xiàn)方式仍然比較簡陋,UKSM的出現(xiàn),徹底消除了KSM原本局限,真正使得這項(xiàng)技術(shù)能被更多的普通用戶使用。具體的來說,它有以下的亮點(diǎn)(原本KSM不具有的特性):
- 全系統(tǒng)掃描,用戶透明。 UKSM現(xiàn)在自動(dòng)掃描所有用戶進(jìn)程的匿名映射內(nèi)存區(qū)域(包括malloc分配出來的內(nèi)存)。不需要修改一行應(yīng)用程序的源碼,使用起來超級簡單,安裝完成以 后,重啟使用本站補(bǔ)丁的內(nèi)核即可(有部分已編譯的二進(jìn)制內(nèi)核供下載)。起它幾乎什么都不需要做(除非你想通過sysfs調(diào)整其內(nèi)部參數(shù))。
- 不無謂地浪費(fèi)CPU時(shí)間。UKSM自動(dòng)探測并分析得出包含豐富冗余數(shù)據(jù)的區(qū)域,并在其上全速工作。對于沒有太多冗余甚至徹底沒有冗余數(shù)據(jù)的區(qū)域,只進(jìn)行速度非常低(通常情況下,用top看,CPU占用率為0)的采樣掃描。而當(dāng)包含豐富冗余數(shù)據(jù)的區(qū)域出現(xiàn)的時(shí)候,它又能非常快速的作出響應(yīng)。
- UKSM能夠以極快的速度掃描,并合并冗余數(shù)據(jù)。 在Intel core 2 Q9300的CPU上,KSM的官方評測其內(nèi)存合并速度最高在260M/s左右,而實(shí)際工作的平均速度在幾十M每秒。由于采用了全新的hash算法,相同的硬件環(huán)境下面,我們的算法的合并速度最高可達(dá)到477MB/sec ~ 923MB/sec。而對于不包含冗余數(shù)據(jù)的頁面上,UKSM的掃描速度最高是627MB/sec ~ 2445MB/sec。正因?yàn)橛腥绱梭@人的速度,全系統(tǒng)掃描才真正成為可能。而對于已有的KVM的冗余消除應(yīng)用來說,速度上無疑是一個(gè)質(zhì)的的飛躍!
- 抖動(dòng)區(qū)域避免。UKSM能實(shí)時(shí)自動(dòng)地發(fā)現(xiàn)不友好的抖動(dòng)區(qū)域,并降低其上的掃描速度,避免在此類區(qū)域上浪費(fèi)時(shí)間。
評論
圖片
表情
