「Zswap」の版間の差分
表示
削除された内容 追加された内容
同期 |
同期 |
||
| 18行目: | 18行目: | ||
永続的に zswap を有効にするには、以下を[[カーネルパラメータ#設定|カーネルブートパラメータ]]に追加してください: |
永続的に zswap を有効にするには、以下を[[カーネルパラメータ#設定|カーネルブートパラメータ]]に追加してください: |
||
zswap.enabled=1 |
zswap.enabled=1 |
||
{{Tip|{{pkg|systemd-swap}} パッケージを使って zswap を有効化・[[#zswap のカスタマイズ|設定]]することもできます。}} |
|||
==zswap のカスタマイズ== |
==zswap のカスタマイズ== |
||
故意に、zswap ではカスタマイズできるパラメータが比較的少なくなっています。 |
故意に、zswap ではカスタマイズできるパラメータが比較的少なくなっています。 |
||
| 38行目: | 41行目: | ||
#再起動 |
#再起動 |
||
#dmesg を確認: |
#dmesg を確認: |
||
$ dmesg | grep |
$ dmesg | grep zswap: |
||
[ 0. |
[ 0.918052] zswap: loaded using pool lz4/zbud |
||
== 参照 == |
== 参照 == |
||
| 45行目: | 48行目: | ||
* [https://www.kernel.org/doc/Documentation/vm/zswap.txt Zswap ドキュメント] |
* [https://www.kernel.org/doc/Documentation/vm/zswap.txt Zswap ドキュメント] |
||
* [https://lkml.org/lkml/2013/7/17/147 zswap: How to determine whether it is compressing swap pages?] |
* [https://lkml.org/lkml/2013/7/17/147 zswap: How to determine whether it is compressing swap pages?] |
||
* [https://www.ibm.com/developerworks/community/blogs/fe313521-2e95-46f2-817d-44a4f27eba32/entry/new_linux_zswap_compression_functionality7?lang=en IBM Developer Works |
* [https://www.ibm.com/developerworks/community/blogs/fe313521-2e95-46f2-817d-44a4f27eba32/entry/new_linux_zswap_compression_functionality7?lang=en IBM Developer Works の記事 (ベンチマーク結果あり)] |
||
* [http://askubuntu.com/questions/471912/zram-vs-zswap-vs-zcache-ultimate-guide-when-to-use-which-one Ask Ubuntu: zram vs. zswap vs. zcache] |
* [http://askubuntu.com/questions/471912/zram-vs-zswap-vs-zcache-ultimate-guide-when-to-use-which-one Ask Ubuntu: zram vs. zswap vs. zcache] |
||
* [https://bbs.archlinux.org/viewtopic.php?id=169585 Archlinux |
* [https://bbs.archlinux.org/viewtopic.php?id=169585 Archlinux フォーラムスレッド] |
||
2016年12月22日 (木) 01:44時点における版
関連記事
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
ヒント systemd-swap パッケージを使って zswap を有効化・設定することもできます。
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: [ 0.918052] zswap: loaded using pool lz4/zbud