swapfile 是什么、从哪来、什么时候生效?

这个问题问得非常好,而且你已经走到 Linux 分区设计的最后一个关键点了 👍
我用最直观的方式swapfile 是什么、从哪来、什么时候生效 全部讲清楚。


一句话先给你答案

swapfile = 放在磁盘上的一个“普通文件”,
Linux 把它当成“虚拟内存”来用。

不是分区,而是你 装完系统后自己创建的一个文件


一、没有 swapfile 会怎样?

Ubuntu 安装完成后,默认情况:

  • 如果你 没有建 swap 分区
  • 系统启动后:
swapon --show

👉 是空的(没有 swap)

但这不是问题,系统仍然能正常用。


二、swapfile 是“怎么来的”?🧠

👉 是你主动创建的,不是自动生成的

本质就是:

/swapfile   ← 一个普通文件(但权限很严格)

Linux 内核把它当作 swap 分区使用。


三、为什么现在推荐 swapfile,而不是 swap 分区?

对比 swap 分区 swapfile
灵活性 ❌ 固定大小 ✅ 随时改
删除 ❌ 要改分区 ✅ 直接删
NVMe 性能 接近 接近
安装复杂度
是否推荐 旧方案 ⭐ 现代推荐

👉 Ubuntu 官方现在也是推荐 swapfile


四、swapfile 什么时候创建?什么时候生效?

最佳时机:系统装完、第一次进桌面后

创建步骤(照抄即可)👇

# 1️⃣ 创建 16GB swapfile
sudo fallocate -l 16G /swapfile

# 2️⃣ 设置权限(必须)
sudo chmod 600 /swapfile

# 3️⃣ 格式化为 swap
sudo mkswap /swapfile

# 4️⃣ 启用 swap
sudo swapon /swapfile

验证:

swapon --show
free -h

你会看到 swap 已经生效。


五、开机自动启用 swapfile(重要)

sudo nano /etc/fstab

在最后加一行:

/swapfile none swap sw 0 0

保存退出。


六、swapfile 应该多大?

推荐规则(实用向):

内存 swapfile
8GB 8–16GB
16GB 8–16GB
32GB 8GB
64GB+ 4–8GB

📌 不休眠(hibernate)的话,不需要 = 内存大小


七、swapfile 会不会拖慢系统?🤔

正常情况:

  • 内存够 → 几乎不用 swap
  • 内存紧张 → swap 是“救命绳”

👉 有 swapfile:

  • 系统不容易 OOM
  • Docker / ROS / 编译更稳

👉 没 swap:

  • 内存爆 → 程序直接被杀

八、你这个方案的完整逻辑(非常合理)✅

你现在的最终方案是:

挂载点 说明
/boot/efi UEFI 启动
/ 系统 + 内核
/home 所有数据
/swapfile 虚拟内存

👉 这是 2024–2026 年主流 Linux 工程机方案


九、再用一句话帮你消除顾虑

swapfile 不是“系统必须有的东西”,
而是“当你需要时再加的安全垫”。

你完全可以:

  • 装系统时不管它
  • 用一阵子
  • 发现内存压力大了
    10 秒创建一个 swapfile

posted @ 2026-01-06 11:14  Zenith_Hugh  阅读(26)  评论(0)    收藏  举报