ユーザ用ツール

サイト用ツール


サイドバー

最新の10件
一覧
linux:zramswap

tips

zram: Can't change algorithm for initialized device

※未解決
※Debian stable amd64ではzstdで利用できている

Debian sid amd64環境のdmesg に以下のようなメッセージ

[  +0.209547] zram: Can't change algorithm for initialized device

/etc/default/zramswapALGO=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

コメント

コメントを入力. Wiki文法が有効です:
   __ __   __ __   ___   _____ __  __
  / //_/  / //_/  / _ | / ___/ \ \/ /
 / ,<    / ,<    / __ |/ (_ /   \  / 
/_/|_|  /_/|_|  /_/ |_|\___/    /_/
 
linux/zramswap.txt · 最終更新: 2022/05/18 19:19 by matoken