※未解決
※Debian stable amd64ではzstdで利用できている
Debian sid amd64環境のdmesg に以下のようなメッセージ
[ +0.209547] zram: Can't change algorithm for initialized device
/etc/default/zramswap
で ALGO=zstd
の状態.
# Compression algorithm selection # speed: lz4 > zstd > lzo # compression: zstd > lzo > lz4 # This is not inclusive of all that is available in latest kernels # See /sys/block/zram0/comp_algorithm (when zram module is loaded) to see # what is currently set and available for your kernel[1] # [1] https://github.com/torvalds/linux/blob/master/Documentation/blockdev/zram.txt#L86 ALGO=zstd
※5.17での文章は Documentation/admin-guide/blockdev/zram.rst
のよう. https://github.com/torvalds/linux/blob/master/Documentation/admin-guide/blockdev/zram.rst#3-select-compression-algorithm
ALGO=lzo
にしたところメッセージは出なくなった.
zstdは選択肢にあるようなのだけど…….
$ cat /sys/block/zram0/comp_algorithm lzo [lzo-rle] lz4 lz4hc zstd
手動で設定すると特にエラーも出ず設定できたように見える
$ sudo service zram stop $ sudo rmmod zram $ sudo modprobe zram num_devices=2 $ cat /sys/block/zram*/comp_algorithm $ echo zstd | sudo tee -a /sys/block/zram1/comp_algorithm $ cat /sys/block/zram*/comp_algorithm $ echo 1G | sudo tee /sys/block/zram1/disksize $ sudo mkswap /dev/zram1 $ sudo swapon /dev/zram1
けど,dmesgには表示される
[ +1.301770] Adding 1048572k swap on /dev/zram1. Priority:-3 extents:1 across:1048572k SSFS [ +3.939040] zram: Can't change algorithm for initialized device
検索すると以下のページを見つける
zstd moduleが必要なようなので,zram読み込み前にzstdを読み込んでみる
$ zramctl $ lsmod | grep zram $ sudo modprobe -v zstd insmod /lib/modules/5.17.0-1-amd64/kernel/crypto/zstd.ko $ lsmod | grep zstd zstd 16384 0 zstd_compress 311296 2 btrfs,zstd $ sudo modprobe -v zram num_devices=4 insmod /lib/modules/5.17.0-1-amd64/kernel/mm/zsmalloc.ko insmod /lib/modules/5.17.0-1-amd64/kernel/drivers/block/zram/zram.ko num_devices=1 num_devices=4 $ sudo cat /sys/block/zram*/comp_algorithm lzo [lzo-rle] lz4 lz4hc zstd lzo [lzo-rle] lz4 lz4hc zstd lzo [lzo-rle] lz4 lz4hc zstd lzo [lzo-rle] lz4 lz4hc zstd $ echo zstd | sudo tee -a /sys/block/zram1/comp_algorithm zstd $ sudo cat /sys/block/zram*/comp_algorithm lzo [lzo-rle] lz4 lz4hc zstd lzo lzo-rle lz4 lz4hc [zstd] lzo [lzo-rle] lz4 lz4hc zstd lzo [lzo-rle] lz4 lz4hc zstd $ sudo cat /sys/block/zram1/comp_algorithm lzo lzo-rle lz4 lz4hc [zstd] $ echo 1G | sudo tee /sys/block/zram1/disksize 1G $ sudo mkswap /dev/zram1 Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=bd2a35c3-acdc-4902-b389-4f25cfe2a258 $ sudo swapon /dev/zram1
しかし駄目みたいです
[ +2.756044] Adding 1048572k swap on /dev/zram1. Priority:-3 extents:1 across:1048572k SSFS [ +2.517986] zram: Can't change algorithm for initialized device
コメント