使 zram 使用 lz4 压缩算法

使 zram 使用 lz4 压缩算法

Ubuntu 18,尝试zram使用lz4压缩。

尝试修改/usr/bin/init-zram-swapping文件

#!/bin/sh
...........
...........
for i in $(seq ${NRDEVICES}); do
  DEVNUMBER=$((i - 1))
  echo $mem > /sys/block/zram${DEVNUMBER}/disksize
  echo lz4 > /sys/block/zram${DEVNUMBER}/comp_algorithm # <= added this line
  mkswap /dev/zram${DEVNUMBER}
  swapon -p 5 /dev/zram${DEVNUMBER}
done

但重启后zramctl仍然显示我正在使用lzo算法

NAME       ALGORITHM DISKSIZE  DATA  COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram3 lzo           466M  2.9M 614.2K    1M       4 [SWAP]
/dev/zram2 lzo           466M  2.9M 631.2K    1M       4 [SWAP]
/dev/zram1 lzo           466M  2.9M 536.1K 1020K       4 [SWAP]
/dev/zram0 lzo           466M    3M   610K    1M       4 [SWAP]

我也尝试将其添加到中rc.local,但它会抛出,因为据我所知,更改需要在运行device already in use warning之前完成。mkswapswapon

答案1

这有效:

# initialize the devices
for i in $(seq ${NRDEVICES}); do
  DEVNUMBER=$((i - 1))
  echo lz4 > /sys/block/zram${DEVNUMBER}/comp_algorithm
  echo $mem > /sys/block/zram${DEVNUMBER}/disksize
  mkswap /dev/zram${DEVNUMBER}
  swapon -p 100 /dev/zram${DEVNUMBER}
done

笔记:似乎您需要在 zram 大小之前定义压缩算法。设置swapon -p为优先级100以积极使用 zram,因为它可以提高性能。

相关内容