Debian swap空间不足时如何扩容
导读:Debian 扩容 Swap 的实用步骤 一、准备与检查 查看当前 Swap 与内存:执行命令:sudo swapon --show、free -h,确认是否真的不足以及现有 Swap 的位置与大小。 规划扩容方式:优先选择增加 Swap...
Debian 扩容 Swap 的实用步骤
一、准备与检查
- 查看当前 Swap 与内存:执行命令:
sudo swapon --show、free -h,确认是否真的不足以及现有 Swap 的位置与大小。 - 规划扩容方式:优先选择增加 Swap 文件(灵活、无需改分区表);若已使用 LVM,可新增 swap 逻辑卷;已有独立 swap 分区则需调整分区大小后再启用。
- 预留磁盘空间:确保目标磁盘或卷组有足够可用空间。
- 安全建议:在生产环境操作前,先在测试环境验证;对性能敏感的场景,注意SSD 上大容量 Swap 可能影响写入寿命与性能。
二、方案一 增加 Swap 文件(通用、最简便)
- 创建 Swap 文件(二选一):
- 快速创建:
sudo fallocate -l 2G /swapfile(示例为新增 2GB,可按需调整) - 兼容性更好:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
- 快速创建:
- 设置权限:
sudo chmod 600 /swapfile - 格式化为 Swap:
sudo mkswap /swapfile - 启用:
sudo swapon /swapfile - 验证:
sudo swapon --show、free -h - 持久化:编辑 /etc/fstab,加入
/swapfile none swap sw 0 0
或/swapfile none swap defaults 0 0
保存后可用sudo swapon -a测试挂载是否无误。
三、方案二 使用 LVM 扩容 Swap 逻辑卷(适合已用 LVM 的服务器)
- 查看卷组可用空间:
sudo vgs或sudo vgdisplay - 新增 Swap 逻辑卷(示例新增 2GB):
sudo lvcreate -L 2G -n swap_lv vg_name - 格式化为 Swap:
sudo mkswap /dev/vg_name/swap_lv - 启用:
sudo swapon /dev/vg_name/swap_lv - 验证:
sudo swapon --show、free -h - 持久化:编辑 /etc/fstab,加入
/dev/vg_name/swap_lv none swap sw 0 0
或/dev/vg_name/swap_lv none swap defaults 0 0
保存后用sudo swapon -a测试。
四、方案三 已有独立 Swap 分区的扩容思路
- 临时关闭 Swap:
sudo swapoff -a - 使用 fdisk/parted 调整或重建 swap 分区(删除旧分区并创建更大的新分区,注意分区类型设为 Linux swap / 82)
- 重新初始化并启用:
sudo mkswap /dev/sdXN、sudo swapon /dev/sdXN - 更新 /etc/fstab 中对应条目(如使用 UUID,先用
sudo blkid获取新 UUID) - 验证:
free -h、sudo swapon --show - 风险提示:分区调整存在数据风险,务必完整备份并谨慎操作。
五、扩容后的优化与验证
- 调整 Swappiness(控制内核使用 Swap 的积极程度,范围 0–100):
- 查看:
cat /proc/sys/vm/swappiness - 临时设置:
sudo sysctl vm.swappiness=10 - 永久设置:在 /etc/sysctl.conf 添加
vm.swappiness=10,执行sudo sysctl -p生效。一般桌面/通用服务器可设为 10–30,数据库等低延迟场景可更低。
- 查看:
- 验证与回滚:
- 验证:
free -h、sudo swapon --show确认总容量与已用/空闲值 - 回滚:如需撤销新增的 Swap 文件,先
sudo swapoff /swapfile,再删除文件并从 /etc/fstab 移除对应行。
- 验证:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian swap空间不足时如何扩容
本文地址: https://pptw.com/jishu/767175.html
