Cleancache vs zram?


9

RAMが512 MBしかない古いラップトップを持っています。いくつかのカーネルリリース以降、私はzramを使用して256 MBを圧縮RAMディスクに変換し、それをスワップとして使用しています。これは非常に成功することが証明されており、システムの応答性が大幅に向上し、(ハードディスクでバックアップされた)スワップの使用率が大幅に低下し、以前はシステムの速度が低下していました。

Linux 3.0以降、カーネルにはcleancacheも含まれていますこれは、zramなどをバックエンドとして使用すると、ページキャッシュからページを透過的に圧縮することになっています。私が見る限り、これはzramとは異なります。

ノートパソコンで両方を有効にする必要がありますか?または、cleancacheは実際にzramソリューションに取って代わりますか?

編集:私はこれを発見したのGentooフォーラムのリンク、私も有効にする必要があることと思われる、CONFIG_ZCACHEそして作るどのcleancache使用zramを私が前に持っていたものに似た何かを得ることを。だから私はこれをすべて有効にし、後で明示的にzramを使用しないようです。誰かがこれを確認できますか?

回答:


9

Zramは、圧縮されたramに支えられたブロックデバイスを作成します。そのブロックデバイスをスワップに使用できます。通常、メモリが圧迫されると最初にキャッシュが破棄され、ほとんどのキャッシュが解放されてメモリがまだ不足していないと、システムはスワップを開始しません。

CleanCacheを使用すると、ページキャッシュのページを、ハイパーバイザーによって管理され、複数のVMゲスト間で共有されるメモリであるxen tmemなどのバックエンドに移行できます。この目標は、同じデータをキャッシュする複数のVMゲストが、同じデータの独自のコピーを持つ独自のキャッシュを持つ代わりに、同じRAMを使用してこれを行うことを可能にすることです。

ZCacheはもう1つのCleanCacheバックエンドです。保持するハイパーバイザーにメモリを渡す(Xen VM環境を使用している場合にのみ適用される)代わりに、Zramと同様に、ramで圧縮されたキャッシュページを保存します。違いは、ZCacheはキャッシュページを透過的に格納しますが、Zramはスワップに使用できるブロックデバイスを作成することです。

メモリを大量に消費するアプリケーションがある場合、それらをサポートするためにスワップ領域が必要になるため、引き続きzramを使用する必要があります(おそらく非常に高いswappiness値で)。これは、CleanCacheがキャッシュページのみを圧縮するためです。スワップするには、アプリケーションメモリを送信する必要があります。アプリケーションですべてのメモリを使用していない場合は、ZCacheバックエンドでCleanCacheを使用して、ディスクキャッシュを圧縮することにより、ディスクキャッシュ用の残りのメモリをより効果的に使用できます。2つの手法を組み合わせて使用​​することもできます。


わかりました。ありがとうございます。キャッシュページはディスクキャッシュ専用であり、アプリケーションメモリ用ではありません。これは私には分かりませんでした。
lytenyn 2011

7

上記の回答に加えて、テクノロジーの詳細な説明については、https://lwn.net/Articles/454795も参照してください

私が理解していることから、zramは、まだメインラインカーネルにはありませんが、固定スワップサイズを構成する必要がないという利点があるfrontswapに取って代わられます。これにより、簡単に両方有効になりますcleancachefrontswap(代わりのzramcleancacheのために使用されるメモリ、zramを使用することはできませんcleancacheを)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.