这个脚本会自动检测你的物理内存,计算推荐的 zram 大小(设为内存的 100%),探测内核支持的最佳算法,并自动完成安装与配置。
直接用 #3 楼的吧 适用于debian和alpine 加了定时清理碎片 (适用范围请注意,不可以用zram配合rclone挂载加密卷;不适合用于高负载的编译机;注意CPU性能)
你可以直接在 Alpine 终端复制并执行以下内容:
bash 推荐 #3 楼的新版 以下旧版设为折叠
cat << 'EOF' > setup_zram.sh
#!/bin/sh
# 1. 检查是否为 root 用户
if [ "$(id -u)" -ne 0 ]; then
echo "请以 root 权限运行此脚本"
exit 1
fi
echo "--- 开始配置 zram ---"
# 2. 安装必要工具
apk add zram-init util-linux
# 3. 加载模块并探测最佳算法
modprobe zram
AVAILABLE_ALGOS=$(cat /sys/block/zram0/comp_algorithm)
BEST_ALGO="lzo"
for algo in zstd lz4 lzo-rle; do
if echo "$AVAILABLE_ALGOS" | grep -q "$algo"; then
BEST_ALGO=$algo
break
fi
done
echo "探测到最佳支持算法: $BEST_ALGO"
# 4. 计算推荐大小 (物理内存的 100%)
TOTAL_MEM=$(free -m | grep Mem | awk '{print $2}')
ZRAM_SIZE=$TOTAL_MEM
echo "检测到物理内存: ${TOTAL_MEM}MB, 推荐 zram 大小: ${ZRAM_SIZE}MB"
# 5. 写入配置文件 /etc/conf.d/zram-init
cat << CONF > /etc/conf.d/zram-init
# 由自动脚本生成的配置
num_devices=1
type0=swap
flag0=
algo0=$BEST_ALGO
size0=$ZRAM_SIZE
CONF
# 6. 重置并启动服务
echo "正在应用配置..."
swapoff /dev/zram0 2>/dev/null
rc-service zram-init restart
# 7. 设置开机自启
rc-update add zram-init default
echo "--- 配置完成 ---"
swapon --show
zramctl
EOF
# 给脚本执行权限并运行
chmod +x setup_zram.sh
./setup_zram.sh
脚本说明:
- 自动选优:它会按
zstd > lz4 > lzo-rle > lzo的顺序自动选择你内核支持的最强算法。 - 智能扩容:它抓取
free -m的结果,将 zram 大小设为物理内存的 1 倍。对于你 300MB 的内存,它会设置约 300MB 的 zram。 - 服务集成:它使用 Alpine 标准的
rc-service管理,确保重启后依然有效。 - 优先级控制:
zram-init默认会给 zram 设置极高的优先级,确保系统先压缩内存,再读写硬盘 Swap。
这份指南将帮助你在 Alpine Linux 上从零开始配置 zram。由于 Alpine 极其精简,手动确认内核支持是成功的关键。
Alpine Linux zram 配置完全手册
第一步:检查内核支持与压缩算法
在配置之前,必须确认内核是否加载了模块,以及支持哪些算法。
lzo lzo-rle [lz4] zstd[]的是当前默认值。请记录下你看到的算法(推荐顺序:zstd>lz4>lzo)。第二步:安装管理工具
安装 Alpine 官方提供的 zram 初始化脚本和基础工具包:
第三步:配置 zram 参数
编辑配置文件。如果你的内存较小(如 300MB),建议设置 zram 大小为内存的 1:1 或 1.5:1。
建议配置内容:
第四步:启动与开机自启
清理可能存在的残留手动设置,并启动服务:
第五步:验证运行状态
使用以下两个命令确认 zram 是否正在为你工作:
/dev/zram0的PRIO(优先级)高于其他的/swapfile(数值越大优先级越高)。💡 常见问题排查
Invalid argument: 通常是algo0填写的算法内核不支持,请回到第一步重新确认。/tmp挂载到 zram,确保配置文件中注释掉所有以1结尾的变量(如type1,size1)。size0调大到物理内存的 2 倍,lz4 算法通常能处理这种压缩比。alpine和debian通用的,加入了碎片清理任务。其他和zram有关的局限请自行考虑。(cpu性能,是否有挂载加密卷等)
给辛苦写教程的julao送两个鸡腿
支持一下
谢谢分享
支持一下
给我的nat机试试看