zram是linux的一種記憶體最佳化技術,基本工作原理是:通過劃定一片區域,將壓縮過後的硬碟數據放入該區域,以實現高速讀取。
基本介紹
- 中文名:zram
- 作用:記憶體最佳化
zram 技術的由來,簡介,作用,
zram 技術的由來
zram(也稱為 zRAM,先前稱為 compcache)是Linux核心的一項功能,可提供虛擬記憶體壓縮。zram 通過在 RAM 內的壓縮塊設備上分頁,直到必須使用硬碟上的交換空間,以避免在磁碟上進行分頁,從而提高性能。由於 zram 可以用記憶體替代硬碟為系統提供交換空間的功能,zram 可以在需要交換 / 分頁時讓 Linux 更好利用 RAM ,在物理記憶體較少的舊電腦上尤其如此。
即使 RAM 的價格相對較低,zram 仍有利於嵌入式設備、上網本和其它相似的低端硬體設備。這些設備通常使用固態存儲,它們由於其固有性質而壽命有限,因而避免以其提供交換空間可防止其迅速磨損。此外,使用 zRAM 還可顯著降低 Linux 系統用於交換的 I/O 。
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 。 Google 在 Chrome OS 中使用 zram,它也成為了 Android 4.4 及以後版本設備的一個選項。
簡介
zram是記憶體壓縮,所有寫入記憶體的東西都會經過壓縮,會少量增加CPU負擔swap是交換分區,類似Windows的虛擬記憶體,就是當記憶體不足的時候,把一部分硬碟空間虛擬成記憶體使用,從而解決記憶體容量不足的情況。
作用
zRAM是一個Linux核心驅動,zRAM大體上可以看成是用記憶體做一塊虛擬盤,拿來作為Linux的交換分區。和普通的ramdisk不同,zRAM對存放的內容會進行實時的壓縮,以提高實際的容量。
利用zRAM並不是減小Android的記憶體占用,而是通過zRAM來提供交換空間,從而在記憶體緊張時釋放出更多的可用記憶體,同時又避免傳統的交換到檔案系統的開銷。
zRAM可以分出一塊記憶體,然後讓系統當作虛擬記憶體來使用。傳統的虛擬記憶體是存放在磁碟上的,而zRAM存在記憶體里,並會進行壓縮。這樣的虛擬記憶體訪問速度可以提高很多,記憶體利用率也會大幅提高。所以對於小記憶體設備,比如512M記憶體的Android設備,或者1G記憶體的電腦,都會有很大幫助。應該和OS X 10.9的記憶體壓縮效果差不多,而且設計得更為巧妙。在CPU有較快速度的年代裡,利用CPU的資源對記憶體進行壓縮,以便在小記憶體設備里也能存下更多的後台進程,是個很不錯的方法。