编辑
2026-05-20
学习记录
00

目录

📝 操作流程概览
📋 详细步骤
⚙️ 优化建议:调整 Swappiness 参数
🗑️ 如何移除或调整 Swap 空间
🎯 如何选择合适的 Swap 大小
💡 其他注意事项

在 Ubuntu 上开启 Swap 主要推荐使用交换文件的方式,因为它方便管理,并且在需要调整大小时也更灵活。以下是完整的操作流程。

📝 操作流程概览

  1. 检查是否已有 Swap
  2. 创建并指定 Swap 文件大小
  3. 设置严格的文件权限
  4. 将文件格式化为 Swap
  5. 启用 Swap 文件
  6. 写入 fstab 实现开机自动挂载
  7. 验证配置是否成功
  8. (可选) 优化系统 swappiness 参数

📋 详细步骤

整个流程都在终端中操作。

bash
# 1. 查看当前 Swap 状态,确认是否有现成配置 sudo swapon --show free -h

1. 创建 Swap 文件 使用 fallocate 指令可以快速创建一个指定大小的文件,其中 4G 是文件大小。

bash
sudo fallocate -l 4G /swapfile

如果 fallocate 命令不可用,可使用 dd 命令作为备选。

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

2. 设置文件权限 为确保安全,Swap 文件必须只能被 root 用户读写。

bash
sudo chmod 600 /swapfile

3. 格式化为 Swap 空间 使用 mkswap 工具将文件设置为 Swap 格式。

bash
sudo mkswap /swapfile

4. 立即启用 Swap 启用文件,让系统开始使用它。

bash
sudo swapon /swapfile

5. 验证是否启用 再次检查,确认新的 Swap 空间已生效。

bash
sudo swapon --show free -h

6. 设置开机自动挂载 为了避免重启后失效,需要将配置添加到系统文件/etc/fstab中。下面的命令会自动添加一行。

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

⚙️ 优化建议:调整 Swappiness 参数

Ubuntu 默认的 swappiness 值为 60,代表当物理内存使用率达到约 40% 时,系统就会开始使用 Swap,对于内存充裕的机器来说可能过于积极。可以将其调低,让系统更优先使用物理内存。

通过以下命令查看当前值:

bash
cat /proc/sys/vm/swappiness

建议设置为 10,这会让系统仅在内存紧张时才使用 Swap,对于桌面系统或服务器是不错的平衡点。

bash
# 临时设置,立即生效,重启后失效 sudo sysctl vm.swappiness=10 # 永久设置,将配置写入系统文件 echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

🗑️ 如何移除或调整 Swap 空间

如果你想移除已配置的 Swap,可以先关闭它,然后删除文件和 fstab 中的配置行。

bash
sudo swapoff /swapfile sudo rm /swapfile sudo vim /etc/fstab # 然后手动删除包含 '/swapfile' 的那一行

如果需要调整 Swap 大小,首先关闭当前文件,然后重新执行“创建到启用”的步骤即可。

bash
sudo swapoff /swapfile sudo rm /swapfile # 重新执行上面的"创建"到"启用"的步骤即可

🎯 如何选择合适的 Swap 大小

Swap 的大小没有一个放之四海而皆准的标准,可以根据你的物理内存总量和实际使用需求来参考:

物理内存大小推荐 Swap 大小适用场景说明
≤ 2GB内存的 1-2 倍内存较小,Swap 作为重要的内存补充。
2GB - 8GB与内存大小相等较为通用的配置,能在容量和性能间取得平衡。
8GB - 16GB4GB - 8GB物理内存相对充足,Swap 主要用于应对偶发的内存峰值。
≥ 16GB4GB - 8GB大内存设备,Swap 主要作为“保险丝”防止 OOM,无需过大。
需要休眠功能≥ 物理内存大小系统休眠时会将 RAM 内容全部写入 Swap,因此 Swap 容量必须足够大。

💡 其他注意事项

  • 首选交换文件:与传统的交换分区相比,交换文件无需预先规划磁盘分区,调整大小也更加简单,是现代 Linux 系统的推荐做法。
  • 注意存储性能与寿命:如果使用 SSD 作为存储介质,Swap 的读写可能会略微影响其寿命。建议适当降低 swappiness 值以减少对 SSD 的写入。

本文作者:Weee

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!