太长不看版
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
大功告成。