「Zswap」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「Category:カーネル en:Zswap {{Related articles start}} {{Related|カーネルパラメータ}} {{Related|Mkinitcpio}} {{Related articles end}} Wikipedia:zswa...」) |
(同期) |
||
8行目: | 8行目: | ||
:"Zswap はスワップされたページのライトバックキャッシュを圧縮する Linux カーネルの機能です。スワップアウトされたときにメモリページをスワップデバイスに移動する代わりに、zswap は圧縮を行なってシステムの RAM 内のメモリプールに動的に保存します。" |
:"Zswap はスワップされたページのライトバックキャッシュを圧縮する Linux カーネルの機能です。スワップアウトされたときにメモリページをスワップデバイスに移動する代わりに、zswap は圧縮を行なってシステムの RAM 内のメモリプールに動的に保存します。" |
||
− | zswap はスワップデバイスの圧縮 RAM キャッシュです。スワップアウトされそうになったページは圧縮されて RAM が本当に満杯になるまで RAM 内で扱われます。そして最も長く使われてない (LRU) ページがディスクに送られます。zram は RAM のスワップデバイスとして動作するので、他にスワップデバイスは必要としません。 |
+ | zswap はスワップデバイスの圧縮 RAM キャッシュです。スワップアウトされそうになったページは圧縮されて RAM が本当に満杯になるまで RAM 内で扱われます。そして最も長く使われてない (LRU) ページがディスクに送られます。[[パフォーマンスの最大化#Zram または zswap|zram]] は RAM のスワップデバイスとして動作するので、他にスワップデバイスは必要としません。 |
要するに、zswap を使用するには[[スワップ]]デバイスを設定する必要があるということです。 |
要するに、zswap を使用するには[[スワップ]]デバイスを設定する必要があるということです。 |
||
==zswap の有効化== |
==zswap の有効化== |
||
+ | 以下のコマンドを root で実行することで zswap を有効化できます: |
||
− | zswap を有効にするには、以下を[[カーネルパラメータ#設定|カーネルブートパラメータ]]に追加してください: |
||
+ | # echo 1 > /sys/module/zswap/parameters/enabled |
||
+ | |||
+ | 永続的に zswap を有効にするには、以下を[[カーネルパラメータ#設定|カーネルブートパラメータ]]に追加してください: |
||
zswap.enabled=1 |
zswap.enabled=1 |
||
==zswap のカスタマイズ== |
==zswap のカスタマイズ== |
||
故意に、zswap ではカスタマイズできるパラメータが比較的少なくなっています。 |
故意に、zswap ではカスタマイズできるパラメータが比較的少なくなっています。 |
||
===最大使用容量をカスタマイズ=== |
===最大使用容量をカスタマイズ=== |
||
+ | 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 |
|
− | + | 上記の設定は {{ic|sysfs}} でもできます。 |
|
===圧縮アルゴリズムを変更する=== |
===圧縮アルゴリズムを変更する=== |
||
− | + | {{ic|/sys/module/zswap/parameters/compressor}} に使用したいアルゴリズムを書き込むことで設定できます: |
|
+ | # echo lz4 > /sys/module/zswap/parameters/compressor |
||
+ | |||
+ | zswap の圧縮アルゴリズムもカーネルブートパラメータで設定できます: |
||
zswap.compressor=lzo #deflate #lz4 |
zswap.compressor=lzo #deflate #lz4 |
||
2016年1月12日 (火) 15:51時点における版
関連記事
Wikipedia より:
- "Zswap はスワップされたページのライトバックキャッシュを圧縮する Linux カーネルの機能です。スワップアウトされたときにメモリページをスワップデバイスに移動する代わりに、zswap は圧縮を行なってシステムの RAM 内のメモリプールに動的に保存します。"
zswap はスワップデバイスの圧縮 RAM キャッシュです。スワップアウトされそうになったページは圧縮されて RAM が本当に満杯になるまで RAM 内で扱われます。そして最も長く使われてない (LRU) ページがディスクに送られます。zram は RAM のスワップデバイスとして動作するので、他にスワップデバイスは必要としません。
要するに、zswap を使用するにはスワップデバイスを設定する必要があるということです。
目次
zswap の有効化
以下のコマンドを root で実行することで zswap を有効化できます:
# echo 1 > /sys/module/zswap/parameters/enabled
永続的に zswap を有効にするには、以下をカーネルブートパラメータに追加してください:
zswap.enabled=1
zswap のカスタマイズ
故意に、zswap ではカスタマイズできるパラメータが比較的少なくなっています。
最大使用容量をカスタマイズ
zswap はあらかじめ割り当てられたメモリプールを使って圧縮・スワップされたデータを保存するわけではありません。zswap が利用できるメモリの最大使用率を設定したい場合、カーネルブートパラメータに以下を追加してください:
zswap.max_pool_percent=25
上記の設定は sysfs
でもできます。
圧縮アルゴリズムを変更する
/sys/module/zswap/parameters/compressor
に使用したいアルゴリズムを書き込むことで設定できます:
# echo lz4 > /sys/module/zswap/parameters/compressor
zswap の圧縮アルゴリズムもカーネルブートパラメータで設定できます:
zswap.compressor=lzo #deflate #lz4
LZ4 圧縮を有効にする (lzo や deflate より高速で、圧縮率は低め)
- Mkinitcpio#MODULES に
lz4 lz4_compress
を追加 mkinitcpio
を実行- カーネルパラメータに
zswap.compressor=lz4
を追加 - 再起動
- dmesg を確認:
$ dmesg | grep 'zswap.* compressor' [ 0.307223] zswap: using lz4 compressor