banner
约 900 字
3 分钟

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

摘要

飞牛NAS近期上线了基于 zram 的内存压缩功能,通过将不活跃数据压缩后保留在内存中而非写入硬盘交换分区,有效缓解小内存NAS的内存瓶颈。本文详细介绍了该功能的适用场景、完整开启步骤、实际效果,以及完整的卸载还原教程。无需加装物理内存,零成本提升系统流畅度。

前言

折腾NAS的朋友应该都有这个体会——Docker容器越装越多,影视服务、下载工具一开,内存条就开始捉襟见肘了。尤其是4G、8G内存的机器,跑着跑着系统就开始卡。
飞牛NAS最近终于上了"内存压缩"功能,不用加内存条,纯软件层面就能把可用内存撑大不少。今天手把手教你怎么开。

原理

一句话说清楚:系统把暂时不活跃的数据压缩后继续放在内存里,而不是丢到硬盘的交换分区去。
内存的读写速度比硬盘快了不止一个数量级,所以这么一搞,系统卡顿明显减少,多任务切换也更流畅。

哪些人适合开?

内存大小

建议

4GB

强烈建议开,效果立竿见影

8GB

推荐开启

16GB(跑了很多Docker/虚拟机)

可以开

至于32GB以上、日常占用不到50%的土豪玩家——真没必要折腾,感知不到差别。

开启教程

目前飞牛还没给UI界面,需要进终端用命令行操作,用 SSH 连接飞牛 NAS。

1. 禁用默认的 swapfile

先把系统自带的硬盘交换分区关掉,不然跟zram会打架。
编辑 fstab 文件:

bash
sudo nano /etc/fstab

找到这一行,在前面加个 # 注释掉:

纯文本
# /swapfile none swap sw 0 0

保存退出:Ctrl + s ,再 Ctrl + X

adc85d151ab05d40.png


确认改好了没:

bash
cat /etc/fstab

然后重启NAS

2. 安装并配置 zram

重启回来后,依次执行以下命令:

bash
# 更新软件源
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 服务

bash
# 停止服务

sudo systemctl stop zramswap.service

# 禁用开机自启

sudo systemctl disable zramswap.service

# 卸载 zram-tools

sudo apt remove --purge -y zram-tools

第二步:恢复 swapfile

把之前注释掉的那行改回来。编辑 fstab:

bash
sudo nano /etc/fstab

把这行前面的 # 去掉:

纯文本
/swapfile none swap sw 0 0

保存退出:Ctrl + s ,再 Ctrl + X

第三步:重启并验证

重启 NAS,回来后确认 swapfile 已恢复:

bash
swapon --show

看到 /swapfile 出现在输出里就说明还原成功了。

小提示:卸载后建议跑一下 free -h 看看内存状态,确保交换分区正常挂载、没有残留的 zram 设备。如果 swapon --show 里还能看到 zram,手动执行 sudo swapoff /dev/zram0 关掉它就行。

结尾

内存压缩本质上是拿CPU算力换内存空间,所以CPU负载会略微上升,但换来的流畅度绝对值。它不能替代物理内存升级,但对小内存NAS来说,这绝对是零成本最优解。

END