温馨提示×

如何优化ubuntu swap

小樊
35
2026-08-23 22:08:37
栏目: 智能运维

优化 Ubuntu 的 Swap(交换空间)可以从减少不必要的 swap 使用、提升 swap 性能、合理配置 swap 大小三个方面入手。下面按实用程度给你一套完整方案。


一、先确认当前 Swap 状态

swapon --show
free -h

二、调整 Swappiness(最重要)

swappiness 决定系统使用 swap 的倾向,默认是 60(偏激进)。

查看当前值

cat /proc/sys/vm/swappiness

推荐值

使用场景 swappiness
大内存服务器 10
桌面 / 开发机 10–30
内存紧张的小机 30–60

临时修改

sudo sysctl vm.swappiness=10

永久生效

sudo nano /etc/sysctl.conf

添加:

vm.swappiness=10

生效:

sudo sysctl -p

对性能提升最明显


三、优化 Swap 缓存压力(可选)

vm.vfs_cache_pressure=50

默认是 100,降低可减少 inode/dentry 缓存被回收。


四、合理配置 Swap 大小

推荐 Swap 大小(2024 年通用)

内存 Swap
≤ 2GB 2×内存
2–8GB 1×内存
8–64GB 4–8GB
≥ 64GB 2–4GB(或关闭)

五、使用 Swapfile(比分区灵活,推荐)

创建 swapfile

sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

开机自动挂载

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

六、提升 Swap 性能(进阶)

1️⃣ 使用 zram(强烈推荐,内存压缩)

适合内存 ≤ 16GB 的机器。

sudo apt install zram-tools

编辑配置:

sudo nano /etc/default/zramswap

示例:

ALGO=lz4
PERCENT=50
PRIORITY=100

启动:

sudo systemctl enable --now zramswap

✅ 比传统 swap 快很多


2️⃣ 提高 Swap 优先级

sudo swapon --priority 10 /swapfile

七、避免 Swap 拖慢系统

关闭不必要的 swap(内存充足时)

sudo swapoff -a

⚠️ 不建议长期关闭,OOM 风险高


八、检查 Swap 是否被频繁使用

vmstat 1

关注 si/so

  • 长期 > 0 → 内存不足
  • 偶尔 → 正常

九、推荐组合方案(实战)

桌面 / 开发机

  • swappiness = 10
  • zram + 4–8GB swapfile
  • vfs_cache_pressure = 50

服务器

  • swappiness = 5–10
  • 小 swap(2–4GB)
  • 不启用 zram(除非容器环境)

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

  • 内存大小
  • 是服务器还是桌面
  • 是否使用 SSD / NVMe
  • 是否有 OOM 或卡顿问题

我可以给你精确到参数的定制方案

0