Zswap(じーすわっぷ)
最終更新:2026/4/28
Zswapは、Linuxカーネルにおける圧縮されたスワップ領域をRAM上にキャッシュする機能である。
ポイント
Zswapは、スワップ領域へのアクセスを高速化し、システム全体のパフォーマンスを向上させることを目的とする。特に、RAM容量が限られた環境で効果を発揮する。
Zswapとは
Zswapは、Linuxカーネルに組み込まれたスワップキャッシュ機能です。従来のswap領域(ハードディスクやSSD)への書き込みを減らし、代わりに圧縮されたスワップデータをRAM上にキャッシュすることで、スワップ領域へのアクセス速度を向上させます。これにより、システムがメモリ不足に陥った際でも、パフォーマンスの低下を最小限に抑えることができます。
Zswapの仕組み
Zswapは、ページキャッシュと同様の仕組みを利用して、圧縮されたスワップデータをRAM上に保持します。スワップアウトが発生すると、Zswapはページを圧縮し、RAM上にキャッシュします。スワップインが発生すると、ZswapはRAM上の圧縮されたデータを解凍し、必要なページをプロセスに提供します。
Zswapは、圧縮アルゴリズムとしてLZ4を使用しており、高速な圧縮・解凍が可能です。また、Zswapは、RAMの利用状況に応じて、キャッシュするデータの量を自動的に調整します。
Zswapのメリット
- パフォーマンスの向上: スワップ領域へのアクセス速度が向上し、システム全体のパフォーマンスが向上します。
- RAMの効率的な利用: 圧縮されたスワップデータをRAM上にキャッシュすることで、RAMの利用効率が向上します。
- SSDの寿命延長: スワップ領域への書き込み回数を減らすことで、SSDの寿命を延長することができます。
Zswapの設定
Zswapは、カーネルパラメータzswap.enabled=1を設定することで有効にすることができます。また、zswap.max_pool_percentパラメータで、Zswapが使用できるRAMの割合を設定することができます。
Zswapの注意点
- Zswapは、RAMを消費します。RAM容量が限られた環境では、Zswapの設定を慎重に行う必要があります。
- Zswapは、CPU負荷を増加させる可能性があります。CPU性能が低い環境では、Zswapの設定を慎重に行う必要があります。