Zram
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/07 07:31 UTC 版)
プログラミング 言語 | C |
---|---|
対応OS | Linux |
種別 | Linux kernel features |
ライセンス | GNU General Public License |
公式サイト |
www |
zramは、RAMに圧縮ブロックデバイスを作成するLinuxカーネルモジュールで、いわゆるRAMディスクである。中間ファイル出力をしないオンザフライでの「ディスク」の圧縮である。 zramで作成されたブロックデバイスは、スワップまたは汎用RAMディスクとして使用できる。 zramの最も一般的な2つの使用法は、一時ファイル(/ tmp)用ストレージと、スワップ「ディスク」である。 当初、zramには後者の機能しかなかったため、元の名前は「compcache」(「圧縮キャッシュ」)だった。
概要
Linuxのドライバーステージング領域で4年の歳月を経て、2014年3月30日にリリースされたバージョン3.14で、zramはメインラインのLinuxカーネルに導入された。 [1] Linuxカーネルバージョン3.15以降(2014年6月8日リリース)以降、zramは複数の圧縮ストリームと複数の圧縮アルゴリズムをサポートしている。 圧縮アルゴリズムには、 LZ4 、 LZO 、 ZSTD 、 842、およびそれらの修正が含まれる。 デフォルトは「LZO-RLE」で、速度と比率のバランスが非常に良い。 他のほとんどのシステムパラメータと同様に、圧縮アルゴリズムはsysfsを介して選択できる。 [2]
圧縮スワップ空間として使用される場合、zramはzswapに似ていて、汎用RAMディスクではなく、スワップページ用のカーネル内圧縮キャッシュである。 CONFIG_ZRAM_WRITEBACK
が導入されるまで[いつ?] 、zswapとは異なり、zramはハードディスクをバッキングストアとして使用できなかった。つまり、使用頻度の低いページをディスクに移動できない。 一方、zswapではバッキングストアが必要だが、zramでは必要ない。
zramをスワップに使用する場合、zswapと同様に、Linuxにとっては、RAMを効率的に使えるようになる。OSにとっては、同じ量のRAMをアプリケーションメモリやディスクキャッシュとして使うのに比べて、メモリページを圧縮スワップの中に保持する方がより多くのメモリのページを保持できる。これは、メモリが少ないマシンで特に効果的である。[3] [4] 2012年、UbuntuはRAMが小さいコンピューターでzramをデフォルトで有効にすることを簡単に検討した。 [5]
zram / zswapを使用した圧縮スワップスペースは、 組み込みデバイスやネットブックなどのローエンドハードウェアデバイスにもメリットをもたらす。 このようなデバイスは、通常、 フラッシュベースストレージを使用するが、これはライトアンプリフィケーションによって寿命が限られるし、スワップ領域を提供するためにも使われる。 zramをスワップとして使うと、そのようなフラッシュベースのストレージの消耗を効果的に削減することで、使用可能な寿命を延ばす。 また、zramを使用すると、スワッピングを必要とするLinuxシステムのI / Oが大幅に削減される。 [6] [7]
2013年以降、GoogleのChromeOSはデフォルトでzramを使用している。[8] Androidのバージョン4.4以降には、zramが含まれている。 [9] Lubuntuは、バージョン13.10でzramの使用も開始した。 [10]
関連項目
参考文献
- ^ “Linux kernel 3.14, Section 1.2. zram: Memory compression mechanism considered stable”. kernelnewbies.org (2014年3月30日). 2014年4月1日閲覧。
- ^ “Linux kernel 3.15, Section 1.7. zram: LZ4 compression support, improved performance”. kernelnewbies.org (2014年6月8日). 2014年6月15日閲覧。
- ^ “Increased performance in Linux with zram (virtual swap compressed in ram)”. webupd8.org. (2011年10月2日) 2011年11月8日閲覧。
- ^ “compcache Compressed Caching for Linux”. code.google.com (2010年4月27日). 2011年11月11日閲覧。
- ^ Dinsan (2012年12月8日). “Ubuntu Linux Considers Greater Usage of zRAM”. 2013年10月30日閲覧。
- ^ “ZRAM Might Finally Be Moved Out Of Linux Staging”. Phoronix (2013年8月14日). 2014年2月9日閲覧。
- ^ “zRAM Is Still Hoping For A Promotion”. Phoronix (2013年11月25日). 2014年2月9日閲覧。
- ^ Larabel (2013年3月28日). “Google is Enabling zram for Chrome OS By Default”. chromestory.com. 2013年3月29日閲覧。
- ^ Google, Android KitKat | Android Developers.
- ^ “Next Lubuntu provided with zram enabled! – LinuxVillage (en)”. linuxvillage.org (2013年10月17日). 2015年8月19日時点のオリジナルよりアーカイブ。2013年11月10日閲覧。
外部リンク
- zram Linuxカーネルのドキュメント
- Linux用のCompcache、Compressed Caching
- Compcache:インメモリ圧縮スワッピング 、2009年5月26日、LWN.net、Nitin Gupta作
- カーネル内メモリ圧縮 、2013年4月3日、LWN.net、Dan Magenheimer著
- 圧縮キャッシュ:ハンドヘルドコンピュータの仮想メモリ圧縮 、2000年3月16日、 Michael J. Freedman著
- Zramのページへのリンク