应使用独立分区方式创建swap:先用lsblk或fdisk -l确认空闲分区,再用blkid验证无文件系统,确保未被占用;接着用fdisk设类型为82,mkswap格式化并记录UUID;然后swapon启用并验证,最后将UUID写入/etc/fstab实现开机自动挂载。

当物理内存不足时,用空闲磁盘分区创建专属 swap 空间,比 swapfile 方式性能更稳、延迟更低,特别适合生产服务器或长期运行的系统。
确认空闲分区并检查状态
先找出未被挂载、也未格式化为其他用途的磁盘分区:
- 运行 lsblk 或 fdisk -l,筛选出 size > 0 且 MOUNTPOINT 为空 的分区(如
/dev/sdb2、/dev/nvme0n1p3) - 用 sudo blkid /dev/xxx 确认该分区没有文件系统(输出为空或报错“no valid signature”才安全)
- 确保该分区**未被任何进程占用**:执行 sudo lsof +D /dev/xxx,无输出即表示可用
将分区设为 Linux swap 类型
分区本身需标记为 swap 类型,并格式化为 swap 文件系统:
- 若分区已有旧数据或类型不对,先用 fdisk /dev/sdX 进入交互界面:
输入 t → 选中分区号 → 输入类型代码 82(Linux swap)→ w 保存 - 执行格式化:sudo mkswap /dev/sdXn(例如
sudo mkswap /dev/sdb2) - 命令成功后会显示 UUID,记下它(后续 fstab 推荐用 UUID 而非设备名,避免设备名变动)
启用并验证新 swap 分区
立即生效,同时确认内核识别无误:
- 启用:sudo swapon /dev/sdXn
- 查看是否成功:swapon --show 或 free -h,确认新增的 SIZE 和 TYPE(partition)已列出
- 检查优先级(PRIO):默认为 -2,如需优先于其他 swap 区域,加 --priority 10 参数启用
写入 fstab 实现开机自动挂载
否则重启后 swap 失效,内存压力问题重现:
- 编辑 /etc/fstab:sudo nano /etc/fstab
- 追加一行(推荐用 UUID):
UUID=xxxx-xxxx-xxxx-xxxx none swap sw 0 0
或设备路径方式(稳定性稍低):/dev/sdb2 none swap sw 0 0 - 测试配置语法:sudo swapon --verify(无报错即通过)
- 可手动重载:sudo swapon -a,再用 free -h 确认已激活
整个过程无需重启,启用后系统就会在内存紧张时自动使用这块专用空间。只要分区干净、类型正确、fstab 配置无误,就能稳定充当物理内存的可靠后备。

















