收起左侧

arm设备在固态上创建swapfile补充zram,继续扩大虚拟内存

0
回复
158
查看
[ 复制链接 ]

4

主题

24

回帖

0

牛值

江湖小虾

2026-3-14 19:09:14 显示全部楼层 阅读模式

教程前的一些说明

飞牛出于保护emmc的角度出发,arm设备的swap是用过zram的方式创建的,路径:

 /etc/systemd/zram-generator.conf 

配置为内存的1/2。

我使用的是某o开头的热门3566机型,内存4G,zram空间2G,因为我使用的docker容器较多,有时候内存还是会告急,但是zram最好别配置太多,因为它占用的是物理内存,当 zRAM 大小为 4GB 时,系统会预留 4GB 的内存用于存储压缩数据。

如果物理内存只有 4GB,那么 所有内存都可能被 zRAM 占据,运行其他程序时可能没有空闲内存,导致频繁压缩/解压,甚至触发 OOM(内存耗尽)被内核杀掉进程。

所以使用太多后,反而会起反作用,目前默认的1/2 ram的配置就已经挺合适了。为了扩展更多的内存,我选择在我安装的sata固态上再创建一个swapfile来扩展更多的内存。

配置流程

# 1. 创建swap子卷
sudo btrfs subvolume create /vol1/@swap

# 2. 使用专用命令创建swap文件(自动处理所有限制)
sudo btrfs filesystem mkswapfile --size 4G /vol1/@swap/swapfile

# 3. 启用swap
sudo swapon -p 50 /vol1/@swap/swapfile

# 4. 设置开机自动启用
echo '/vol1/@swap/swapfile none swap sw,pri=50 0 0' | sudo tee -a /etc/fstab

# 5. 验证
sudo swapon --show
free -h
收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则