UKMS

linux相同頁面合併機制(KSM)使得記憶體中相同的頁面,可以通過修改頁表的方式合併成一個。通常這個機制被套用在有眾多虛擬機(目前僅支持 KVM)或者有很多冗餘記憶體數據的場景(如有很多類似數據工作集的並行科學計算)裡面。

基本介紹

  • 外文名:UKMS
  • 類型:相同頁面合併機制
  • 屬於:inux
  • 特點:全系統掃描,用戶透明
概述,UKMS特性,全系統掃描,用戶透明,不無謂地浪費CPU時間,速度掃描,合併冗餘數據,抖動區域避免,

概述

但是,目前它的實現方式仍然比較簡陋,UKSM的出現,徹底消除了KSM原本局限,真正使得這項技術能被更多的普通用戶使用。簡單的概括,就是它能減少你系統當中的冗餘的記憶體,雖然你的記憶體可能夠用,但是,當代Linux都是把空閒記憶體作為檔案快取的,你有更多的空閒記憶體,你的檔案系統也就越快!

UKMS特性

全系統掃描,用戶透明

UKSM現在自動掃描所有用戶進程的匿名映射記憶體區域(包括malloc分配出來的記憶體)。不需要修改一行應用程式的源碼,使用起來超級簡單,安裝完成以 後,重啟使用本站補丁核心即可(有部分已編譯的二進制核心供下載)。起它幾乎什麼都不需要做(除非你想通過sysfs調整其內部參數)。

不無謂地浪費CPU時間

UKSM自動探測並分析得出包含豐富冗餘數據的區域,並在其上全速工作。對於沒有太多冗餘甚至徹底沒有冗餘數據的區域,只進行速度非常低(通常情況下,用top看,CPU占用率為0)的採樣掃描。而當包含豐富冗餘數據的區域出現的時候,它又能非常快速的作出回響。

速度掃描,合併冗餘數據

在Intel core 2 Q9300的CPU上,KSM的官方評測其記憶體合併速度最高在260M/s左右,而實際工作的平均速度在幾十M每秒。由於採用了全新的hash算法,相同的硬體環境下面,我們的算法的合併速度最高可達到477MB/sec ∼ 923MB/sec。而對於不包含冗餘數據的頁面上,UKSM的掃描速度最高是627MB/sec ∼ 2445MB/sec。正因為有如此驚人的速度,全系統掃描才真正成為可能。而對於已有的KVM的冗餘消除套用來說,速度上無疑是一個質的的飛躍!

抖動區域避免

UKSM能實時自動地發現不友好的抖動區域,並降低其上的掃描速度,避免在此類區域上浪費時間。

相關詞條

熱門詞條

聯絡我們