首页主机资讯Ubuntu Swap故障怎么解决

Ubuntu Swap故障怎么解决

时间2025-12-22 09:10:04发布访客分类主机资讯浏览1497
导读:Ubuntu Swap 故障排查与修复指南 一、快速定位问题 查看内存与交换使用情况:free -h 查看当前启用的交换:swapon --show 或 cat /proc/swaps 检查设备与分区类型:sudo blkid(确认是否存...

Ubuntu Swap 故障排查与修复指南

一、快速定位问题

  • 查看内存与交换使用情况:free -h
  • 查看当前启用的交换:swapon --showcat /proc/swaps
  • 检查设备与分区类型:sudo blkid(确认是否存在 Linux swap 类型分区/文件)
  • 查看内核与系统日志:dmesg | tail -n 50journalctl -xe
  • 观察资源与 I/O:top/htopiostat -x 1
  • 核对开机自动挂载配置:cat /etc/fstab 以上命令能快速判断是“未启用”“配置错误”还是“性能问题”。

二、常见故障与修复

  • 启动卡在 “A start job is running for dev-disk-by-uuid/… (1min 30s)”

    • 原因:/etc/fstab 中的 UUID 与 blkid 不一致,或 swap 分区/文件不存在。
    • 处理:
      1. 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/sdXYsudo 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 --showfree -h。若提示 header 失败,多为未执行 mkswap 或权限不对。
  • 开机不挂载或配置错误

    • 核对 fstab:使用 UUID 更稳健(示例:UUID=xxxx none swap sw 0 0
    • 若需临时禁用:sudo swapoff -a;修复后 sudo swapon -a
    • 注意:修改 fstab 前建议备份;变更磁盘/分区后务必重新 blkid 并更新 fstab。
  • 使用倾向异常或性能不佳

    • 查看: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 -hswapon --show
  • 永久扩容(文件方式,推荐)
    • 建议先关闭旧 swap:sudo swapoff -a
    • 创建新文件(如 8GB):sudo fallocate -l 8G /swapfilesudo 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 -hswapon --show
  • 多交换与优先级
    • 可同时启用多个 swap(文件/分区),用 sudo swapon -p 10 /dev/sdXY 设置优先级,数值越大优先级越高。

四、验证与收尾

  • 状态核验:free -hswapon --showcat /proc/swapslsblk -f(确认类型为 swap
  • 日志核验:dmesg | tailjournalctl -u systemd-fsck* -b
  • 性能与稳定性:观察 top/htopiostat -x 1;如频繁换页,考虑增大 swap 或降低 vm.swappiness,并优先使用 SSD 存放 swap。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Swap故障怎么解决
本文地址: https://pptw.com/jishu/777057.html
Debian Sniffer如何抓包 ThinkPHP在Linux的兼容性问题

游客 回复需填写必要信息