在阿里云上开启ZRAM的方法

太长不看版
sudo su # do everything as root
dnf install zram-generator
echo "[zram0]
zram-size = ram / 1
compression-algorithm = lz4" > /etc/systemd/zram-generator.conf
sed -i 's/vm.swappiness = 0/# vm.swappiness = 0/g' /etc/sysctl.d/99-sysctl.conf
echo "vm.swappiness = 180
vm.watermark_boost_factor = 0
vm.watermark_scale_factor = 125
vm.page-cluster = 0" > /etc/sysctl.d/99-vm-zram-parameters.conf
sysctl --system
systemctl restart systemd-zram-setup@zram0.service

首先,我们需要安装一个管理zram的工具。除了抖M应该没人会自己写管理脚本吧?

本文以systemd-zram-generator作为管理工具。

sudo dnf install zram-generator # 红帽系
sudo apt install systemd-zram-generator # debian系

然后写一个配置文件。

# /etc/systemd/zram-generator.conf
[zram0]
zram-size = ram / 1
compression-algorithm = lz4
我想要你解释一下

[zram0]是指设备名称。

zram-size = ram / 1的意思是创建一个与内存大小1:1的zram空间。不用害怕,这里指的是压缩前的zram大小,压缩后应该会降到三分之一左右。1:1是我的个人习惯,一些发行版(比如Fedora)会默认使用2:1等参数。你用你喜欢的就行。

提示:使用zram-size = ram / 2设置zram大小为内存大小的一半。

compression-algorithm = lz4用于指定压缩算法(这里是lz4)。一般来讲,作为zram使用的压缩算法,lz4很优秀。当然你也可以选择别的——比如zstd。

下一步,我们需要给傻逼阿里云的限制干掉。编辑/etc/sysctl.d/99-sysctl.conf这个文件,将vm.swappiness = 0注释掉(前面加个井号)。

直接删了也行。

然后,添加我们自己的参数。

# /etc/sysctl.d/99-vm-zram-parameters.conf
vm.swappiness = 180
vm.watermark_boost_factor = 0
vm.watermark_scale_factor = 125
vm.page-cluster = 0

接下来,重新载入使上两步的更改生效。

sudo sysctl --system

最后,重新启动zram服务。

sudo systemctl restart systemd-zram-setup@zram0.service

大功告成。

Comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注