Zswap

提供: ArchWiki
2015年2月15日 (日) 15:18時点におけるKusakata (トーク | 投稿記録)による版 (ページの作成:「Category:カーネル en:Zswap {{Related articles start}} {{Related|カーネルパラメータ}} {{Related|Mkinitcpio}} {{Related articles end}} Wikipedia:zswa...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

関連記事

Wikipedia より:

"Zswap はスワップされたページのライトバックキャッシュを圧縮する Linux カーネルの機能です。スワップアウトされたときにメモリページをスワップデバイスに移動する代わりに、zswap は圧縮を行なってシステムの RAM 内のメモリプールに動的に保存します。"

zswap はスワップデバイスの圧縮 RAM キャッシュです。スワップアウトされそうになったページは圧縮されて RAM が本当に満杯になるまで RAM 内で扱われます。そして最も長く使われてない (LRU) ページがディスクに送られます。zram は RAM のスワップデバイスとして動作するので、他にスワップデバイスは必要としません。

要するに、zswap を使用するにはスワップデバイスを設定する必要があるということです。

zswap の有効化

zswap を有効にするには、以下をカーネルブートパラメータに追加してください:

zswap.enabled=1

zswap のカスタマイズ

故意に、zswap ではカスタマイズできるパラメータが比較的少なくなっています。

最大使用容量をカスタマイズ

zswap does not use a preallocated pool of memory to hold compressed and swapped data. If you want to put a maximum bound on the percentage of memory that zswap can use, add this to your kernel boot parameters:

  zswap.max_pool_percent=25

This can also be set in sysfs.

圧縮アルゴリズムを変更する

zswaps の圧縮アルゴリズムもカーネルブートパラメータで設定できます:

zswap.compressor=lzo #deflate #lz4

LZ4 圧縮を有効にする (lzo や deflate より高速で、圧縮率は低め)

  1. Mkinitcpio#MODULESlz4 lz4_compress を追加
  2. mkinitcpio を実行
  3. カーネルパラメータに zswap.compressor=lz4 を追加
  4. 再起動
  5. dmesg を確認:
$ dmesg | grep 'zswap.* compressor'
[    0.307223] zswap: using lz4 compressor

参照