Debian 交换空间定制化方案
一 目标与基线评估
sudo swapon --show 或 cat /proc/swapsfree -hcat /proc/sys/vm/swappiness二 交换空间选型与容量建议
| 方案 | 优点 | 缺点 | 典型场景 |
|---|---|---|---|
| 交换分区 | 固定大小、性能好、支持休眠 | 调整大小需改分区 | 笔记本/台式机、需要休眠 |
| 交换文件 | 易创建/调整大小、灵活部署 | 小文件可能有碎片、性能略逊分区 | 云主机、容器、快速变更需求 |
三 部署与调整步骤
sudo fallocate -l 2G /swapfile(若失败可用 sudo dd if=/dev/zero of=/swapfile bs=1G count=2)sudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfile/swapfile none swap sw 0 0swapon --show 或 free -hsudo swapoff /swapfilesudo fallocate -l 4G /swapfile(或 dd if=/dev/zero of=/swapfile bs=1G count=4)sudo chmod 600 /swapfile && sudo mkswap /swapfilesudo swapon /swapfileswapon --show 或 free -hsudo mkswap /dev/sdXn 与 sudo swapon /dev/sdXn/dev/sdXn none swap sw 0 0resume= 与 resume_offset=(交换文件场景)。四 关键内核参数与运行时策略
cat /proc/sys/vm/swappinesssudo sysctl -w vm.swappiness=10(桌面/内存充足场景倾向减少换页)vm.swappiness=10 并执行 sudo sysctl -pecho 1 | sudo tee /sys/module/zswap/parameters/enabledecho lz4 | sudo tee /sys/module/zswap/parameters/compressorecho 536870912 | sudo tee /sys/module/zswap/parameters/pool_limit_hiGRUB_CMDLINE_LINUX_DEFAULT 加入 zswap.enabled=1 zswap.compressor=lz4 zswap.pool_limit_hi=536870912,然后 sudo update-grub 并重启echo 10 | sudo tee /proc/sys/vm/dirty_ratioecho 5 | sudo tee /proc/sys/vm/dirty_background_ratiocat /sys/kernel/mm/transparent_hugepage/enabled五 监控 验证与回滚
swapon --show、free -h、cat /proc/sys/vm/swappinessvmstat 1、sar -B 1、dmesg | grep -i swapsudo systemctl hibernate,确认唤醒后状态与数据一致sudo swapoff /swapfile(或 sudo swapoff /dev/sdXn)mkswap/swapon 恢复旧交换