在电脑物理内存少的情况下,可以添加交换文件 swap 利用硬盘空间来扩展内存的使用(在 windows 里叫页文件)来缓解。zarm(内存压缩) 是一种更新的内存扩展技术,在传统 swap 无法满足需求时,使用 zram 来作为 swap 也许会派上用场。
编辑 /etc/modules-load.d/zram.conf 添加
zram
会在进入系统时自动启用 zram 模块
接下来是建立一个 zram0 设备,在不使用额外软件包情况下,可以使用 udev 规则配置。
编辑 /etc/udev/rules.d/99-zram.rules (按需调整 disksize 大小,一般为总物理内存 / 2 比较适合) ,其中 comp_algorithm 属性的 zstd 为压缩算法。(可另选 lzo,lz4,black2,xz,snappy)
ACTION=="add", KERNEL=="zram0", ATTR{comp_algorithm}="zstd", ATTR{disksize}="8G", RUN="/usr/bin/mkswap -U clear /dev/%k", TAG+="systemd"
将 /dev/zram0 以一个高于默认值的优先度添加到你的 fstab 让每次开机时自动挂载 zram
编辑 /etc/fstab 添加:
/dev/zram0 none swap defaults,pri=100 0 0
重启电脑,即可。
如果上面的情况无法使用,则不需要以上 /etc/udev/rules.d/99-zram.rules 文件,和手动挂载 /etc/fstab
在安装了 zram-generator
的前提下,只需要新建或编辑文件 /etc/modprobe.d/zram.conf :
options zram num_devices=1
重启后生效
默认情况下是 zram 大小=总物理内存 / 2 如果需要调整可以编辑 /etc/systemd/zram-generator.conf ,如下:(单位为 MB)
[zram0]
zram-size = 8192