如何在 Linux 中关闭 Swap(虚拟内存)

明白了 👍 我给你写一个 完整、详细的关闭 Linux Swap 教程,带上每个命令的解释,直接可以放在博客文章里使用。内容如下:

 


 

 

如何在 Linux 中关闭 Swap(虚拟内存)

 

 

在服务器上运行数据库、券商接口、交易系统等延迟敏感的应用时,我们通常希望关闭 Swap(交换分区/虚拟内存),避免因为内存换页导致系统卡顿甚至交易延迟。下面介绍如何临时和永久关闭 Swap,并解释每个步骤的作用。

 


 

 

1. 查看当前内存与 Swap 使用情况

 

free -h

解释:

 

  • free 命令用于显示系统的内存和 Swap 使用情况。

  • -h 表示 human-readable,以 MB/GB 的形式显示,方便阅读。

 

 

示例输出:

               total        used        free      shared  buff/cache   available
Mem:           1.7Gi       440Mi       738Mi       5.0Mi       774Mi       1.3Gi
Swap:          3.0Gi       0.0Ki       3.0Gi

可以看到这里系统有 3GB 的 Swap,尚未使用。

 


 

 

2. 临时关闭 Swap(立即生效)

 

swapoff -a

解释:

 

  • swapoff 用来关闭 Swap。

  • -a 参数表示 关闭所有 Swap 设备/文件(无论是 swapfile 还是 swap 分区)。

  • 此操作 立即生效,但 重启后会恢复

 

 

再次查看:

free -h

输出将显示:

Swap:          0B          0B          0B

 


 

 

3. 永久关闭 Swap(重启后依然关闭)

 

 

 

3.1 编辑 

/etc/fstab

 

vi /etc/fstab

解释:

 

  • /etc/fstab 是 Linux 的文件系统挂载表,系统启动时会根据这里的配置挂载磁盘和分区。

  • Swap 的挂载信息也写在这里,所以需要删除或注释掉。

 

 

示例(需要删除/注释的行):

/swapfile   swap    swap    defaults    0 0

或者:

UUID=ba0dfde1-c9b8-47da-8307-5f25e3a7aa1c   swap   swap   defaults   0 0

在前面加 # 注释掉:

# /swapfile   swap    swap    defaults    0 0

 


 

 

3.2 让修改生效

 

systemctl daemon-reexec

解释:

 

  • systemctl 管理 systemd 守护进程。

  • daemon-reexec 表示 重新加载 systemd 自身,应用 /etc/fstab 等系统配置文件的变更。

 

 


 

 

3.3 确保 Swap 已关闭

 

swapoff -a

解释:

 

  • 再执行一次,确保当前会话中 Swap 已完全关闭。

 

 


 

 

4. 可选:删除 Swap 文件/分区

 

 

如果你使用的是 swapfile,可以直接删除:

rm -f /swapfile

解释:

 

  • rm -f 表示强制删除文件,不提示确认。

  • 删除后可以释放磁盘空间。

 

 

如果使用的是独立分区(如 /dev/vdb2),可以不删除,只是不再挂载。以后若需要,可以再手动启用。

 


 

 

5. 再次确认

 

free -h

输出应显示:

Swap:          0B          0B          0B

此时说明系统已经彻底关闭 Swap。

 


 

 

总结

 

 

  • 临时关闭swapoff -a,立即生效,重启后恢复。

  • 永久关闭:编辑 /etc/fstab,注释掉 swap 行,并执行 systemctl daemon-reexec

  • 检查结果:用 free -h 查看 Swap 是否为 0。

 

 

对于交易系统、数据库服务器等延迟敏感场景,关闭 Swap 可以避免换页带来的性能抖动,但要注意:内存不足时进程会直接被 OOM Killer 杀掉,因此需要合理分配物理内存。

 


 

要不要我帮你把这篇文章再加一个 对比图(有 Swap 与无 Swap 的区别,性能 vs 风险),让你的 blog 读者更直观理解?

posted @ 2025-09-10 15:51  就是想学习  阅读(109)  评论(0)    收藏  举报