ubuntu swap空间不足时如何扩容
导读:Ubuntu 扩容 Swap 的实用步骤 一、先检查当前 Swap 使用情况 查看容量与使用:运行命令:free -h 或 swapon --show,确认当前 Swap 总量与设备/文件。 确认是否为 Swap 文件:运行 cat /p...
Ubuntu 扩容 Swap 的实用步骤
一、先检查当前 Swap 使用情况
- 查看容量与使用:运行命令:
free -h或swapon --show,确认当前 Swap 总量与设备/文件。 - 确认是否为 Swap 文件:运行
cat /proc/swaps,若看到 /swapfile 则为文件;若看到 /dev/sdX 或 /dev/nvmeXnXpY 则为分区。 - 建议先备份重要数据,再进行扩容操作。
二、扩容 Swap 文件(推荐,操作更简单)
- 步骤概览:停用现有 Swap → 删除旧文件(如需) → 创建更大的 Swap 文件 → 设置权限 → 格式化为 Swap → 启用 → 写入 fstab 保证开机自启 → 验证。
- 停用现有 Swap
- 若使用文件:
sudo swapoff /swapfile - 若使用分区:
sudo swapoff -a
- 删除旧文件(仅当要重建时)
sudo rm /swapfile
- 创建新的 Swap 文件(二选一)
- 快速创建(若文件系统支持):
sudo fallocate -l 8G /swapfile - 通用方式(所有文件系统):
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
- 设置权限(安全)
sudo chmod 600 /swapfile
- 格式化为 Swap 区域
sudo mkswap /swapfile
- 启用新的 Swap
sudo swapon /swapfile
- 开机自动挂载
- 追加到
/etc/fstab:echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
- 验证
swapon --show或free -h,确认新的 Size 已生效。
三、扩容已有 Swap 分区(需要腾挪磁盘空间)
- 基本思路:停用 Swap → 用 fdisk/lsblk 确认分区 → 调整分区大小(需相邻未分配空间,必要时先缩小其他分区)→ 用 mkswap 在新分区上建立 Swap → 启用 → 更新 /etc/fstab 的 UUID 或路径 → 验证。
- 停用 Swap
sudo swapoff -a
- 确认分区
sudo fdisk -l或lsblk -f,找到当前 Swap 分区,例如 /dev/nvme0n1p12
- 调整分区大小
- 使用 fdisk/gdisk 删除旧分区并重建为更大(务必记录原分区的起始扇区,避免数据损坏),或使用 GParted 图形化调整(需有未分配空间相邻)。
- 在新分区上建立并启用 Swap
sudo mkswap /dev/nvme0n1p12sudo swapon /dev/nvme0n1p12
- 更新 /etc/fstab
- 推荐用 UUID 方式:先用
sudo blkid获取新分区的 UUID,然后在/etc/fstab中写入:
UUID=< 新UUID> none swap sw 0 0
- 验证
swapon --show或free -h
四、可选优化与注意事项
- 调整 Swappiness(控制内核使用 Swap 的倾向,默认通常为 60)
- 查看:
cat /proc/sys/vm/swappiness - 临时设为 10(更偏向使用物理内存):
sudo sysctl vm.swappiness=10 - 永久生效:在
/etc/sysctl.conf中添加vm.swappiness=10后执行sudo sysctl -p
- 查看:
- 性能与寿命提示
- 频繁使用 Swap 会影响性能;在 SSD 上大量 Swap 会增加写入量,需结合内存容量与磁盘寿命综合权衡。
- 文件系统不支持 fallocate 时的替代
- 使用
dd if=/dev/zero of=/swapfile bs=1G count=N方式创建文件,更通用。
- 使用
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu swap空间不足时如何扩容
本文地址: https://pptw.com/jishu/757397.html
