zram

Linux のドライバ ステージング エリアでの 4 年間を経て、zram は 2014 年 3 月 30 日にリリースされたバージョン 3.14 でメインラインの Linux カーネルに導入されました。 Linux カーネル バージョン 3.15 以降 (2014 年 6 月 8 日にリリース) では、zram は複数の圧縮ストリームと複数の圧縮アルゴリズムをサポートしています。 圧縮アルゴリズムは、DEFLATE(DEFLATE)、LZ4(LZ4LZ4HC “高圧縮”)、LZO(LZO-RLE “run-length encoding”)、Zstandard(ZSTD)、842(842)が含まれます。 カーネル 5.1 からは、デフォルトは LZO-RLE で、速度と比率のバランスが取れている。 他のほとんどのシステムパラメータと同様に、圧縮アルゴリズムは sysfs で選択できます。

圧縮スワップスペースとして使用する場合、zram は zswap と同様、汎用 RAM ディスクではなく、 スワップページ用のカーネル内圧縮キャッシュとなります。 カーネルバージョン 4.14 で CONFIG_ZRAM_WRITEBACK が導入されるまでは、zswap と異なり zram はハードディスクをバッキングストアとして使用できなかったため、使用頻度の低いページをディスクに移動させることができませんでした。 しかし、zswap はバッキングストアを必要としますが、zram は必要としません。

swap に使用された場合、zram (zswap のように) は Linux が RAM をより効率的に使用できるようにします。なぜなら、同じ量の RAM がアプリケーションメモリまたはディスクキャッシュとして使用されていた場合よりも、OS は圧縮スワップにおいて、メモリのより多くのページを保持することができるからです。 これは、メモリがあまり多くないマシンで特に効果的です。 2012 年、Ubuntu は、インストールされた RAM の量が少ないコンピューターで zram をデフォルトで有効にすることを一時的に検討しました。

zram および zswap による圧縮スワップ空間は、組み込みデバイスやネットブックなどのローエンドのハードウェア デバイスにも利点を提供します。 このようなデバイスは通常、書き込み増幅のために寿命が限られているフラッシュ ベースのストレージを使用し、スワップ スペースを提供するためにも使用します。 zramを使用することでスワップ容量が減少するため、フラッシュストレージの消耗が抑えられ、結果として寿命を延ばすことができます。 また、zramを使用することで、スワップを必要とするLinuxシステムのI/Oが大幅に削減されます

コメントを残す

メールアドレスが公開されることはありません。