Сделать 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 algortihm

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потому что, насколько я знаю, изменение должно быть сделано до mkswap а также swapon пробеги.

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 swapiness, чтобы использовать zram активно, поскольку это улучшает производительность.

Другие вопросы по тегам