温馨提示×

如何设置ubuntu swap

小樊
39
2026-08-11 23:50:54
栏目: 智能运维

在 Ubuntu 系统中设置 Swap(交换空间)通常用于内存不足时提升系统稳定性。下面按常见场景给你一套完整、可操作的步骤,从检查到创建、启用、开机自动挂载,以及参数优化。


一、检查当前 Swap 情况

swapon --show
free -h
  • 如果没有输出,说明当前没有启用 Swap。
  • free -h 中的 Swap 行显示总量和使用情况。

二、创建 Swap(推荐方式:Swap 文件)

✅ 1. 创建 Swap 文件(例如 4G)

sudo fallocate -l 4G /swapfile

如果 fallocate 不可用(某些文件系统不支持):

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

✅ 2. 设置正确权限

sudo chmod 600 /swapfile

⚠️ 权限错误会导致系统安全风险。


✅ 3. 格式化为 Swap

sudo mkswap /swapfile

✅ 4. 启用 Swap

sudo swapon /swapfile

验证:

swapon --show

三、开机自动挂载 Swap

编辑 fstab:

sudo nano /etc/fstab

添加一行:

/swapfile none swap sw 0 0

保存后测试:

sudo mount -a

四、优化 Swap 使用(重要)

1️⃣ 调整 swappiness(Swap 使用倾向)

查看当前值:

cat /proc/sys/vm/swappiness

默认通常是 60,建议服务器设为 10~30

sudo sysctl vm.swappiness=20

永久生效:

sudo nano /etc/sysctl.conf

添加:

vm.swappiness=20

2️⃣ 调整缓存压力(可选)

sudo sysctl vm.vfs_cache_pressure=50

永久生效同样写入 /etc/sysctl.conf

vm.vfs_cache_pressure=50

五、调整或删除 Swap(可选)

关闭 Swap

sudo swapoff /swapfile

删除 Swap 文件

sudo rm /swapfile

并从 /etc/fstab 中删除对应行。


六、Swap 大小建议(参考)

内存大小 推荐 Swap
≤ 2GB 2 × RAM
2–8GB 等于 RAM
8–64GB 0.5–1 × RAM
≥ 64GB 一般可不设(除非休眠)

七、常见问题

❓ 是否需要 Swap?

  • ✅ 内存小 / 跑数据库 / 编译大项目 → 需要
  • ❌ 大内存 + 高性能服务 → 可少设或不设

❓ Swap 会影响性能吗?

  • ,但比 OOM(内存溢出崩溃)好得多
  • SSD 上影响较小

如果你愿意,可以告诉我:

  • Ubuntu 版本(20.04 / 22.04 / 24.04)
  • 云服务器 / 本地 / 虚拟机
  • 内存多大

我可以给你更精确的建议配置

0