直接用swapon命令可在线激活新创建的swap空间,无需重启:先确保已创建并格式化swap文件(如/swapfile)或分区(如/dev/sdb1),再执行sudo swapon /swapfile或sudo swapon /dev/sdb1,随后用swapon --show或free -h验证生效。

直接用 swapon 命令就能在线激活新创建的 swap 空间,无需重启,立即使系统获得额外虚拟内存缓冲,缓解 OOM(Out of Memory)风险。
确认 swap 文件或分区已准备就绪
激活前必须确保 swap 空间已完成初始化:
- 如果是交换文件(如
/swapfile),需已执行:sudo fallocate -l 2G /swapfile(或dd创建)、sudo chmod 600 /swapfile、sudo mkswap /swapfile - 如果是交换分区(如
/dev/sdb1),需已用sudo mkswap /dev/sdb1格式化 - 运行
sudo swapon --show或free -h应无该设备/文件显示,说明尚未启用
立即启用 swap 空间
使用 swapon 加载即可生效:
- 启用交换文件:
sudo swapon /swapfile - 启用交换分区:
sudo swapon /dev/sdb1 - 批量启用所有 fstab 中标记为 swap 的设备:
sudo swapon -a - 查看是否成功:
swapon --show或free -h—— Swap 行应显示对应大小和已用为 0 或少量
验证效果并观察内存压力缓解
激活后可快速验证是否起作用:
- 运行
cat /proc/sys/vm/swappiness查看当前倾向值(默认 60),值越高越倾向使用 swap - 若正在发生内存紧张(如
top显示高 %MEM、频繁触发 kswapd),启用后缓存回收会更快将非活跃页写入 swap,避免进程被 OOM killer 杀掉 - 注意:swap 本身不阻止 OOM,但能显著延缓触发时机;真正治本仍需优化应用内存或扩容物理内存
设置开机自动启用(防止下次重启失效)
临时启用只在当前会话有效,务必持久化:
- 编辑
/etc/fstab,追加一行:/swapfile none swap sw 0 0(文件方式)
或/dev/sdb1 none swap sw 0 0(分区方式) - 保存后可测试:
sudo swapoff -a && sudo swapon -a,确认无报错即配置正确











