~~加钱~~ 咳咳……肯定不会让你加钱的。使用 ZRAM ,通过压缩不活动的内存来缓解内存不足。当然要内核支持的。 需要 root 或者同等权限的账户。 # 临时启用 ```modprobe zram num_devices=1``` :启用 ZRAM 模块。 ```echo $(($SIZE*1024*1024)) > /sys/block/zram0/disksize``` :设置 ZRAM 块大小。```$SIZE```就是以 MiB 为单位的大小。比如说,如果你想要 1024MiB 的大小,那么命令等效于 ```echo $((1024*1024*1024)) > /sys/block/zram0/disksize``` 。 ```mkswap /dev/zram0``` :在 ZRAM 块上创建交换分区。 ```swapon /dev/zram0 -p 10``` :启用交换分区,优先级 10 。优先级比你放在硬盘上的交换分区(如果有)要高就可以了。 # 永久启用 ~~以下内容只在使用 systemd 的系统上测试过~~ 创建 ```/etc/modules-load.d/zram.conf``` 并写入 ```zram``` ; 创建 ```/etc/modprobe.d/zram.conf``` 并写入 ```options zram num_devices=1``` ,设置 1 个 ZRAM 块; 创建 ```/etc/udev/rules.d/99-zram.rules``` 并写入 ```KERNEL=="zram0", ATTR{disksize}="512M" RUN="/usr/bin/mkswap /dev/zram0", TAG+="systemd"``` ,其中disksize后面的引号里的 512M 是设置大小的地方,改成你想要的大小就好;**RUN后面的引号里是 mkswap 的绝对路径,输错是没有效果的。如果你不知道那么使用**```type mkswap```**看一眼。** 最后在 ```/etc/fstab``` 中添加(注意,不是覆盖!):```/dev/zram0 none swap defaults 0 0``` 。```/etc/fstab```中最后一个字符似乎必须是个换行符。 安装了 systemd 的话,可以使用 ```zramctl``` 看看效果。 你可能想要关闭硬盘上的交换分区。如果移除(注释) /etc/fstab 中的相关行并没有效果,那么看看交换分区是否被定义成了 systemd 单元。可以用```systemctl mask 单元名```禁用它。