ubuntu swap空间不够怎么办
导读:Ubuntu 交换空间不足的应对方案 一、先判断是否需要扩容 查看当前内存与交换使用情况:free -h、swapon --show。若 Swap 总量接近用尽 或频繁触发 OOM/应用崩溃,就需要扩容或优化。 交换不足常见影响:系统响应...
Ubuntu 交换空间不足的应对方案
一、先判断是否需要扩容
- 查看当前内存与交换使用情况:
free -h、swapon --show。若 Swap 总量接近用尽 或频繁触发 OOM/应用崩溃,就需要扩容或优化。 - 交换不足常见影响:系统响应变慢、延迟增加、卡顿,应用出现内存不足错误,严重时可能导致服务中断或数据风险。
- 快速缓解(不改配置):临时降低并发(如将
make -j$(nproc)改为make -j2~4),关闭不必要程序,释放内存后再继续。
二、扩容 Swap 的推荐做法(优先使用 Swap 文件)
- 步骤概览:创建文件 → 设置权限 → 格式化为 swap → 启用 → 验证 → 设置开机自启。
- 示例(新增 8GB 交换文件):
# 1) 创建 8GB 的交换文件(两种其一) sudo fallocate -l 8G /swapfile # 若 fallocate 失败,改用 dd: sudo dd if=/dev/zero of=/swapfile bs=1G count=8 # 2) 仅 root 可读写 sudo chmod 600 /swapfile # 3) 格式化为 swap 区域 sudo mkswap /swapfile # 4) 启用 sudo swapon /swapfile # 5) 验证 free -h swapon --show # 6) 开机自动启用(如文件已存在,先备份原行) echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab - 需要更大空间时,将 8G 替换为 16G 等目标值即可。上述做法适用于 Ubuntu 18.04/20.04/22.04/24.04 等版本。
三、调整现有 Swap 文件大小
- 场景 A(直接替换为更大的新文件,最稳妥):
- 关闭现有交换:
sudo swapoff /swapfile - 删除旧文件:
sudo rm /swapfile - 按“第二部分”的步骤创建更大的
/swapfile并启用、写入/etc/fstab。
- 关闭现有交换:
- 场景 B(就地扩容已有文件,进阶做法):
- 关闭交换:
sudo swapoff /swapfile - 扩容文件(示例增加 2GB):
sudo dd if=/dev/zero of=/swapfile bs=1G count=2 oflag=append conv=notrunc - 重新初始化 swap 头:
sudo mkswap /swapfile - 启用:
sudo swapon /swapfile - 验证:
free -h
- 关闭交换:
- 风险提示:操作前确保有数据备份;扩容失败可能导致系统无法立即分配内存,建议在虚拟机快照或控制台下操作。
四、使用 Swap 分区时的扩容思路
- 调整分区大小比文件更复杂,通常需要:
- 使用 GParted 等工具调整分区(需相邻未分配空间),或先缩小其他分区腾出空间;
- 完成后执行
sudo mkswap /dev/sdXN和sudo swapon /dev/sdXN启用; - 在
/etc/fstab中使用 UUID 方式持久挂载(可用blkid查询分区 UUID)。
- 若不熟悉分区操作,更推荐继续使用Swap 文件方案,步骤更简单、风险更低。
五、优化与注意事项
- 调整内核交换倾向(swappiness):
- 查看:
cat /proc/sys/vm/swappiness(默认常见为 60) - 临时降低(减少换出):
sudo sysctl vm.swappiness=10 - 永久生效:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
- 查看:
- 使用 SSD 存放 Swap 可显著提升性能;但需注意写入寿命,在机械盘或低寿命设备上应避免过大 Swap。
- 若需要支持休眠(Hibernate),Swap 空间应不小于物理内存,且使用分区更稳妥(部分发行版/硬件组合对文件休眠支持不佳)。
- 监控与排错:
watch -n 1 free -h、htop观察使用情况;若swapon失败,常见原因为未执行 mkswap 或权限非 600。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu swap空间不够怎么办
本文地址: https://pptw.com/jishu/773174.html
