我有一台旧的 Raspberry Pi One model B,具有 256Mb RAM,安装了 FreeBSD ( 12.0-CURRENT
)。由于设备的内存太少,我想我应该尝试在 RAM 中使用压缩交换,以实现类似于ZRAM
Linux 上的功能,所以我做了以下操作。
我有 209Mb RAM,166Mb 可用空间:
# freecolor -m -o
total used free shared buffers cached
Mem: 209 42 166 0 0 0
Swap: 0 0 0
创建了一个50Mb的内存盘,这样-o compress
数据在写入之前会被压缩:
# mdconfig -a -t malloc -o compress -o reserve -s 50m -u 7
好的,我可以看到我的可用 RAM 少了 50Mb:
# freecolor -m -o
total used free shared buffers cached
Mem: 209 95 114 0 0 0
Swap: 0 0 0
然后我在新创建的磁盘上激活了交换设备:
# swapon /dev/md7
所以我最终得到了 50Mb 的交换空间,它被映射到 RAM 上:
# freecolor -m -o
total used free shared buffers cached
Mem: 209 94 114 0 0 0
Swap: 50 0 50
所以——我的第一个问题是,这会按预期工作吗? (我的意思是,当页面交换到 时数据会被压缩吗/dev/md7
?)
而且,为什么——既然我似乎还有 114M 的可用 RAM——我不能创建更多的 ramdisk 吗?
# mdconfig -a -t malloc -o compress -o reserve -s 10m -u 8
mdconfig: ioctl(/dev/mdctl): Cannot allocate memory