飞牛NAS内存压缩实战：8G内存秒变12.5G，小内存NAS的免费扩容方案

前言折腾NAS的朋友应该都有这个体会——Docker容器越装越多，影视服务、下载工具一开，内存条就开始捉襟见肘了。尤其是4G、8G内存的机器，跑着跑着系统就开始卡。飞牛NAS最近终于上了"内存压缩"功能，不用加内存条，纯软件层面就能把可用内存撑大不少。今天手把手教你怎么开。原理一句话说清楚：系统把暂时不活跃的数据压缩后继续放在内存里，而不是丢到硬盘的交换分区去。内存的读写速度比硬盘快了不止一个数量级，所以这么一搞，系统卡顿明显减少，多任务切换也更流畅。哪些人适合开？内存大小建议 4GB 强烈建议开，效果立竿见影 8GB 推荐开启 16GB（跑了很多Docker/虚拟机）可以开至于32GB以上、日常占用不到50%的土豪玩家——真没必要折腾，感知不到差别。开启教程目前飞牛还没给UI界面，需要进终端用命令行操作，用 SSH 连接飞牛 NAS。 1. 禁用默认的 swapfile 先把系统自带的硬盘交换分区关掉，不然跟zram会打架。编辑 fstab 文件： sudo nano /etc/fstab 找到这一行，在前面加个 # 注释掉： # /swapfile none swap sw 0 0 保存退出：Ctrl + s ，再 Ctrl + X。 adc85d151ab05d40.png 确认改好了没： cat /etc/fstab 然后重启NAS。 2. 安装并配置 zram 重启回来后，依次执行以下命令： # 更新软件源 sudo apt update # 安装 zram-tools sudo apt install -y zram-tools # 设置压缩算法和压缩比例 echo -e "ALGO=lzo-rle\nPERCENT=60" | sudo tee /etc/default/zramswap # 重新加载配置 sudo service zramswap reload # 重启服务 sudo systemctl restart zramswap.service # 查看运行状态 systemctl status zramswap.service # 验证 zram 是否生效 swapon --show 几个关键参数说明： lzo-rle：压缩算法，速度和压缩率都比较均衡。公测版目前只支持这个，内测用户可以换成 zstd（压缩率更高） 60：拿物理内存的60%来创建压缩空间，4G内存就会分出约2.3G的zram空间 e42aa2b3f313f515.png 实际效果以我这台8G内存的NAS为例，开启后系统自动创建了大约4.5GB的zram压缩交换空间。算下来相当于8G变12.5G.4G内存的机器同理，开启后zram空间约2.5GB，相当于4G变6.5GB。如何卸载 zram 并还原？万一用着不爽或者想恢复出厂状态，反操作也很简单。第一步：停止并卸载 zram 服务 # 停止服务 sudo systemctl stop zramswap.service # 禁用开机自启 sudo systemctl disable zramswap.service # 卸载 zram-tools sudo apt remove --purge -y zram-tools 第二步：恢复 swapfile 把之前注释掉的那行改回来。编辑 fstab： sudo nano /etc/fstab 把这行前面的 # 去掉： /swapfile none swap sw 0 0 保存退出：Ctrl + s ，再 Ctrl + X。第三步：重启并验证重启 NAS，回来后确认 swapfile 已恢复： swapon --show 看到 /swapfile 出现在输出里就说明还原成功了。小提示：卸载后建议跑一下 free -h 看看内存状态，确保交换分区正常挂载、没有残留的 zram 设备。如果 swapon --show 里还能看到 zram，手动执行 sudo swapoff /dev/zram0 关掉它就行。结尾内存压缩本质上是拿CPU算力换内存空间，所以CPU负载会略微上升，但换来的流畅度绝对值。它不能替代物理内存升级，但对小内存NAS来说，这绝对是零成本最优解。