Ubuntu Swap故障怎么解决
导读:Ubuntu Swap 故障排查与修复指南 一、快速定位问题 查看内存与交换使用情况:free -h 查看当前启用的交换:swapon --show 或 cat /proc/swaps 检查设备与分区类型:sudo blkid(确认是否存...
Ubuntu Swap 故障排查与修复指南
一、快速定位问题
- 查看内存与交换使用情况:
free -h - 查看当前启用的交换:
swapon --show或cat /proc/swaps - 检查设备与分区类型:
sudo blkid(确认是否存在 Linux swap 类型分区/文件) - 查看内核与系统日志:
dmesg | tail -n 50、journalctl -xe - 观察资源与 I/O:
top/htop、iostat -x 1 - 核对开机自动挂载配置:
cat /etc/fstab以上命令能快速判断是“未启用”“配置错误”还是“性能问题”。
二、常见故障与修复
-
启动卡在 “A start job is running for dev-disk-by-uuid/… (1min 30s)”
- 原因:/etc/fstab 中的 UUID 与 blkid 不一致,或 swap 分区/文件不存在。
- 处理:
sudo blkid获取真实 UUID;2) 对比并修正/etc/fstab中 swap 行;3) 若暂时无法修复,可先注释该行以正常启动;4) 重启验证。若分区类型被误改,用分区工具将其类型设为 Linux swap(0x82),再mkswap并写入正确 UUID 到 fstab。
-
Swap 未启用或 “swapon failed: read swap header failed”
- 分区方案:
sudo mkswap /dev/sdXY→sudo swapon /dev/sdXY - 文件方案:
- 创建:
sudo fallocate -l 8G /swapfile(若失败用sudo dd if=/dev/zero of=/swapfile bs=1G count=8) - 权限:
sudo chmod 600 /swapfile - 格式化:
sudo mkswap /swapfile - 启用:
sudo swapon /swapfile
- 创建:
- 验证:
swapon --show、free -h。若提示 header 失败,多为未执行mkswap或权限不对。
- 分区方案:
-
开机不挂载或配置错误
- 核对 fstab:使用 UUID 更稳健(示例:
UUID=xxxx none swap sw 0 0) - 若需临时禁用:
sudo swapoff -a;修复后sudo swapon -a - 注意:修改 fstab 前建议备份;变更磁盘/分区后务必重新
blkid并更新 fstab。
- 核对 fstab:使用 UUID 更稳健(示例:
-
使用倾向异常或性能不佳
- 查看:
cat /proc/sys/vm/swappiness - 临时调整:
sudo sysctl vm.swappiness=10 - 永久生效:在
/etc/sysctl.conf添加vm.swappiness=10后重启或sysctl -p - 说明:默认 60;桌面/SSD 可适当降低,内存紧张或需休眠可适当提高。
- 查看:
三、应急与扩容
- 临时应急(无持久化)
- 创建并启用 2GB 文件:
sudo fallocate -l 2G /swapfile & & sudo chmod 600 /swapfile & & sudo mkswap /swapfile & & sudo swapon /swapfile - 验证:
free -h、swapon --show
- 创建并启用 2GB 文件:
- 永久扩容(文件方式,推荐)
- 建议先关闭旧 swap:
sudo swapoff -a - 创建新文件(如 8GB):
sudo fallocate -l 8G /swapfile或sudo dd if=/dev/zero of=/swapfile bs=1G count=8 - 格式化与权限:
sudo mkswap /swapfile & & sudo chmod 600 /swapfile - 启用:
sudo swapon /swapfile - 持久化:在
/etc/fstab写入/swapfile none swap sw 0 0 - 验证:
free -h、swapon --show
- 建议先关闭旧 swap:
- 多交换与优先级
- 可同时启用多个 swap(文件/分区),用
sudo swapon -p 10 /dev/sdXY设置优先级,数值越大优先级越高。
- 可同时启用多个 swap(文件/分区),用
四、验证与收尾
- 状态核验:
free -h、swapon --show、cat /proc/swaps、lsblk -f(确认类型为 swap) - 日志核验:
dmesg | tail、journalctl -u systemd-fsck* -b - 性能与稳定性:观察
top/htop、iostat -x 1;如频繁换页,考虑增大 swap 或降低vm.swappiness,并优先使用 SSD 存放 swap。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Swap故障怎么解决
本文地址: https://pptw.com/jishu/777057.html
