黑白梦黑白梦

toggle navtoggle nav
  • 文章
  • 专栏
  • 文章
  • 专栏

Ubuntu 添加 Swap 交换空间

发布于 2026-02-15

记录如何在 Ubuntu 上创建并启用 Swap 交换空间,并配置为开机自动生效,同时包含可选的内核参数调优步骤。

参考原文: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-20-04

什么是 Swap

Swap 是硬盘上的一块空间,用于在物理内存(RAM)不足时临时存放数据。
当系统内存压力较大时,内核会把部分不活跃数据从内存移动到 Swap,以避免 OOM(内存耗尽)导致进程被杀或系统崩溃。

注意:

  • Swap 读写速度远慢于内存
  • 适合缓解内存压力,但不能替代物理内存

步骤 1:检查当前是否已有 Swap

1. 查看当前 Swap 状态

sudo swapon --show

如果没有输出,说明当前系统没有启用 Swap。

2. 查看内存和 Swap 使用情况

free -h

如果 Swap 行显示为 0B,说明未配置 Swap。

步骤 2:检查磁盘剩余空间

在创建 Swap 文件前,需要确认磁盘空间足够。

df -h

重点查看根目录 / 的可用空间,确保可以容纳你计划创建的 Swap 大小。

步骤 3:创建 Swap 文件

以下示例创建一个 4G 的 Swap 文件(可根据需求调整大小,例如 1G、2G、4G 等)。

1. 创建 Swap 文件

sudo fallocate -l 4G /swapfile

2. 验证文件是否创建成功

ls -lh /swapfile

应显示大小为 4.0G 左右。

步骤 4:启用 Swap 文件

1. 修改文件权限

Swap 文件必须只允许 root 访问:

sudo chmod 600 /swapfile

验证权限:

ls -lh /swapfile

权限应为:

-rw-------

2. 将文件格式化为 Swap

sudo mkswap /swapfile

3. 启用 Swap

sudo swapon /swapfile

4. 验证 Swap 是否启用成功

sudo swapon --show

或者:

free -h

此时应能看到新增的 Swap 空间。

步骤 5:设置开机自动启用 Swap

默认情况下,重启后 Swap 不会自动加载,需要写入 /etc/fstab。

1. 备份 fstab 文件

sudo cp /etc/fstab /etc/fstab.bak

2. 添加 Swap 配置

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

这样系统每次启动都会自动加载 /swapfile。

步骤 6:可选优化(内核参数调优)

1. 调整 swappiness

swappiness 决定系统使用 Swap 的积极程度。

取值范围:0 - 100
默认值通常为 60。

查看当前值

cat /proc/sys/vm/swappiness

临时修改为 10

sudo sysctl vm.swappiness=10

永久生效

编辑配置文件:

sudo micro /etc/sysctl.conf

添加:

vm.swappiness=10

保存退出。

2. 调整 vfs_cache_pressure

该参数控制内核回收 inode/dentry 缓存的积极程度。

默认通常为 100。

查看当前值

cat /proc/sys/vm/vfs_cache_pressure

临时修改为 50

sudo sysctl vm.vfs_cache_pressure=50

永久生效

编辑:

sudo micro /etc/sysctl.conf

添加:

vm.vfs_cache_pressure=50

保存退出。

验证最终状态

重启服务器:

sudo reboot

重启后检查:

swapon --show

或:

free -h

如果仍然显示 Swap 空间,则说明配置成功。

总结

完成上述步骤后:

  • 系统已成功添加 Swap
  • Swap 已设置为开机自动启用
  • 内核参数已按需优化

Swap 可以在低内存服务器(如 2G 内存云主机)上显著提升稳定性,但不应作为长期替代物理内存的方案。

©2015-2026 黑白梦 粤ICP备15018165号

联系: heibaimeng@foxmail.com