====== Zram ====== **zram** は、以前は **compcache** と呼ばれた、RAM に圧縮ブロックデバイスを作成する Linux カーネルモジュールで、いわゆる RAM ディスクであるが、中間ファイル出力をしないオンザフライでの「ディスク」の圧縮である。 zram で作成されたブロックデバイスは、スワップまたは汎用 RAM ディスクとして使用できる。 zram の最も一般的な2つの使用法は、一時ファイル (/ tmp) 用ストレージと、スワップ「ディスク」である。 当初、zram には後者の機能しかなかったため、元の名前は「compcache」(「圧縮キャッシュ」)だった。\\ 圧縮スワップ空間として使用される場合、zram は [[wwjp>Zswap|zswap]]([[ww>Virtual_memory_compression|Virtual memory compression]] - 仮想メモリ圧縮) に似ていて、汎用 RAM ディスクではなく、__スワップページ用のカーネル内圧縮キャッシュ__である。 CONFIG_ZRAM_WRITEBACK が導入されるまで 、zswap とは異なり、zram はハードディスクをバッキングストアとして使用できなかった。つまり、使用頻度の低いページをディスクに移動できない。 一方、zswap ではバッキングストアが必要だが、zram では必要ない。\\ zram をスワップに使用する場合、zswap と同様に、Linux にとっては、RAM を効率的に使えるようになる。OS にとっては、同じ量の RAM をアプリケーションメモリやディスクキャッシュとして使うのに比べて、メモリページを圧縮スワップの中に保持する方がより多くのメモリのページを保持できる。これは、__メモリが少ないマシンで特に効果的__である。 2012年、Ubuntu は RAM が小さいコンピューターで zram をデフォルトで有効にすることを簡単に検討した。\\ 出典: [[wwjp>Zram|Zram - Wikiwand]]\\ ソースコード: [[git>systemd/zram-generator|GitHub - systemd/zram-generator: Systemd unit generator for zram devices]]\\ ===== ディストリビューション別 ZRAM スワップ ===== [[linux:fedora:extend_zram_swap|Fedora 33 以降で標準になった ZRAM スワップの容量を拡張する]]\\ [[hardware:raspberry_pi:dietpi:zram_swap|DietPi で ZRAM スワップを設定する方法]]\\ ===== スワップ関連 ===== [[:hardware:gl-ar750s-ext:swapfile|SD カード上に Swap ファイルの作成と設定(GL.iNet GL-AR750S-Ext, OpenWrt)]]\\ ===== 参考文献 ===== [[https://ikarus.sg/using-zram-to-get-more-out-of-your-raspberry-pi/|How to Squeeze 50% More Memory Out of Your Raspberry Pi with zram]]\\ ==== 付録 ==== [[tw>tomoyan596/status/1512864512751583232|zramの圧縮アルゴリズム別のパフォーマンスも調べてる良い文献ですね🥰]]\\