Debian Swapper 兼容性测试方案
一 目标与范围
二 测试准备
swapon --show、free -h、cat /proc/swapsuname -r、cat /etc/debian_versioncat /proc/sys/vm/swappinesssudo apt update && sudo apt install -y stress sysstat htopsudo apt install -y zram-toolssudo systemctl enable --now zramswap.servicezramctl 或 swapon --showvm.swappiness 与 /etc/fstab 前先记录原值,便于恢复。三 兼容性测试矩阵与步骤
| 测试维度 | 具体场景 | 操作步骤要点 | 观察与指标 |
|---|---|---|---|
| 内核/版本 | 不同 Debian 稳定版/内核 | 在相同硬件上分别启动不同版本(如 10/11/12 的 Live 或已装系统),统一执行后续测试 | 是否识别 swap、是否可成功 swapon/swapoff、无异常日志 |
| 介质类型 | swap 分区 vs 交换文件 | 各创建一个大小相近的 swap(如 2–4GB),分别启用并运行相同负载 | swapon --show 可见;free -h 增长;性能差异 |
| 大小策略 | 小内存(≤4GB)、中等(8–16GB)、大内存(≥32GB) | 设置不同 swap 大小(如 1×/2× 物理内存、仅 zRAM、禁用 swap),执行相同负载 | 是否出现 OOM、是否频繁换页、应用是否卡顿 |
| 策略参数 | vm.swappiness(如 10/60/100) | 临时设置 sudo sysctl vm.swappiness=N,运行相同负载 |
vmstat 1 中 si/so、应用响应、上下文切换 |
| 压缩/机制 | zRAM 与磁盘 swap 对比 | 启用 zRAM 与仅磁盘 swap 两种模式,分别跑负载 | zramctl 占用、CPU 使用、si/so 与吞吐 |
| 故障与恢复 | 满载、swap 耗尽、禁用/启用 | 逐步加压至 swap 接近耗尽,再 swapoff/swapon 或重启 |
是否 OOM、是否可恢复、日志是否报错 |
stress --vm 2 --vm-bytes 2G --timeout 300s(根据内存大小调整)sysbench memory --threads=4 runvmstat 1、sar -B 1、htop、dmesg -T -k | tail -n 200四 判定标准与结果记录
/etc/fstab 修改后重启仍生效;无 dmesg 级别错误。swapoff/swapon 过程不中断关键服务。Debian 12.8,内核 6.1.x,16GB 内存,交换文件 4GB,vm.swappiness=60stress --vm 2 --vm-bytes 4G --timeout 300svmstat 平均 si/so、峰值 si/so、free -h 最低值、是否有 oom-killer 日志五 常见问题与优化建议
free -h 不增长:检查是否真的 swapon 成功(swapon --show、cat /proc/swaps),以及是否在 zRAM 上;确认 vm.swappiness 非极端值导致几乎不用 swap。fallocate 创建,如失败再用 dd;确保权限为 600;对机械盘可考虑更小粒度或放在更快的存储上。vm.swappiness 原值(sysctl -w vm.swappiness=原值),注释或删除 /etc/fstab 中新增的 swap 行,执行 swapoff 后重启验证。