创建 swap 交换文件(fallocate + mkswap + swapon)

不重新分区,通过创建 /swapfile、用 mkswap 格式化、swapon 启用,为系统添加交换空间。

Linux交换空间文件系统内存存储中风险
运行 `sudo fallocate -l 4G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile` 即可添加 4 GB swap。

01命令

命令
$ sudo fallocate -l 4G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile

02作用说明

swap 让内核把不活跃的内存换出,可以在流量高峰时避免小型服务器触发 OOM 杀进程;1–2 GB 内存的服务器常见做法是配 2–4 GB。chmod 600 这一步不能省——swap 文件不能全局可读,否则 swapon 会告警。想让重启后仍然生效,把 `/swapfile none swap defaults 0 0` 追加到 /etc/fstab;桌面机还可用 `sysctl vm.swappiness=10` 降低换页倾向。

03风险

风险中风险
使用条件Root privileges and free disk space. To persist across reboots, add `/swapfile none swap defaults 0 0` to /etc/fstab. Verify with `swapon --show` and `free -h`.
!注意: 如果 /swapfile 已经存在且有数据,千万不要执行——fallocate 会复用文件而 mkswap 会覆盖它。btrfs、ZFS 等文件系统需要先做特殊处理(关闭 CoW 等)才能安全使用 swap 文件。

04撤销

撤销
$ sudo swapoff /swapfile && sudo rm /swapfile

05来源

  • Swap - ArchWiki
    Arch Linux Wiki · technical · 2026-09-17
    依据: Documents creating a swap file with fallocate, setting permissions with chmod 600, mkswap, swapon and the /etc/fstab entry to make it permanent.
  • swapon(8) - Linux manual page
    Ubuntu Manpages · technical · 2026-09-17
    依据: swapon enables a swap device or file and swapon --show reports active swap areas.

最后验证: 2026-09-18 · 分类: 系统与设置

06相关方案