zram 的使用
zram vs zswap
zram 是将swap out的页面压缩保存在内存中, 内存是swap出的工作集最终存放的位置,而zswap是将swap out的页面先压缩再swap到磁盘设备,磁盘是最终保存swap出的工作集的位置。
zram 安装
首先检查Linux kernel的config中有没有打开zram(在Block目录下)和对应的压缩算法,例如lz4(在Cryptographic API目录下).
Arch
sudo pacman -S zram
编辑zram-generator.conf
# /etc/systemd/zram-generator.conf
[zram0]
zram-size = (ram / 2)
ptions = X-mount.mode=1777
重启后,能够使用zram来做swap
Ubuntu
直接安装
sudo apt install zram-config
重启即可
Fedora
Fedora 33以及以上的版本默认开启了zram. 在32以及一下需要以下操作
安装相关包:
sudo dnf install zram # 安装后,能够通过systemctl status zram-swap 看到这个服务的状态
sudo dnf install zram-generator
编辑zram-generator.conf
# /etc/systemd/zram-generator.conf
[zram0]
zram-size = (ram / 2)
ptions = X-mount.mode=1777
无需重启,直接运行
systemctl enable zram-swap.service
systemctl start zram-swap.service
此时zram就出现在了/dev目录下,并作为swap的后端
Zram和磁盘上的swap文件性能对比
参考
https://www.reddit.com/r/linux/comments/11dkhz7/zswap_vs_zram_in_2023_whats_the_actual_practical/
https://fosspost.org/enable-zram-on-linux-better-system-performance/