zram(也稱為zRAM,曾被稱為compcache)是Linux內核的一項功能,可提供虛擬內存壓縮。它通過在RAM內的壓縮塊設備上分頁,直到必須使用硬盤上的交換空間,以避免在磁盤上進行分頁,從而提高性能。zram可以用內存替代硬盤為系統提供交換空間的功能,使Linux更好利用RAM,尤其在物理內存較少的舊電腦上。
即使RAM的價格相對較低,zram仍有利于嵌入式設備、上網本和其它相似的低端硬件設備。這些設備通常使用固態存儲,由于其固有性質而壽命有限,因而避免以其提供交換空間可防止其迅速磨損。此外,使用zRAM還可顯著降低Linux用于交換的I/O。
zram于3.14合并入Linux內核主線,并于2014年3月30日發布。截至發布于2014年6月8日的Linux內核3.15,zram可支持LZ4壓縮算法,而LZO仍然作為默認的壓縮后端。內核3.15中的修改還改進了性能,以及經由sysfs切換壓縮算法的能力。
谷歌在Chrome OS中使用zram,它也成為了Android 4.4設備的一個選項。此外,Lubuntu于13.10開始使用zram,Ubuntu考慮為小內存的計算機默認啟用zram。
技術由來
zram是Linux內核的一個模塊,之前被稱為“compcache”。zram通過在RAM內的壓縮塊設備上分頁,直到必須使用硬盤上的交換空間,以避免在磁盤上進行分頁,從而提高性能。由于內存的速度比磁盤快,zram可以讓Linux進行交換/分頁時,能夠使用更多的RAM,尤其是在RAM較少的舊電腦上。
即使RAM的價格比較低,這項功能仍對上網本和其他低功率的筆記本電腦、虛擬化有優勢,尤其是那些使用閃存的嵌入式設備,其壽命有限且依賴于使用頻率,因此用作交換時磨損得很快。
zram在2009年的時候就進了kernel的staging目錄,并于2014年3月30日發布的3.14版本正式合并入Linux內核主線。在2014年6月8日發布的3.15版本的Linux內核中,zram已可支持LZ4壓縮算法,而LZO仍然作為默認的壓縮后端。內核3.15中的修改還改進了性能,以及經由sysfs切換壓縮算法的能力。
Lubuntu?于13.10開始使用zram。截至2012年12月,Ubuntu考慮為小內存的計算機默認啟用zram。谷歌在ChromeOS中使用zram,它也成為了安卓4.4及以后版本設備的一個選項。
簡介
zram是內存壓縮,所有寫入內存的東西都會經過壓縮,會少量增加CPU負擔swap是交換分區,類似Windows的虛擬內存,就是當內存不足的時候,把一部分硬盤空間虛擬成內存使用,從而解決內存容量不足的情況。
作用
zRAM是一個Linux內核驅動,zRAM大體上可以看成是用內存做一塊虛擬盤,拿來作為Linux的交換分區。和普通的ramdisk不同,zRAM對存放的內容會進行實時的壓縮,以提高實際的容量。
利用zRAM并不是減小Android的內存占用,而是通過zRAM來提供交換空間,從而在內存緊張時釋放出更多的可用內存,同時又避免傳統的交換到文件系統的開銷。
ZRAM是Linux的一種內存優化技術,它劃定一片內存區域作為SWAP的交換分區,但是它本身具備自動壓縮功能,從而可以達到輔助Linux匿名頁的交換效果,變相“增大”了內存。
zRAM可以分出一塊內存,然后讓系統當作虛擬內存來使用。傳統的虛擬內存是存放在磁盤上的,而zRAM存在內存里,并會進行壓縮。這樣的虛擬內存訪問速度可以提高很多,內存利用率也會大幅提高。所以對于小內存設備,比如512M內存的Android設備,或者1G內存的電腦,都會有很大幫助。應該和OSX10.9的內存壓縮效果差不多,而且設計得更為巧妙。在CPU有較快速度的年代里,利用CPU的資源對內存進行壓縮,以便在小內存設備里也能存下更多的后臺進程,是個很不錯的方法。
參考資料 >