当前位置: 首页 > news >正文

如何在 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 读者更直观理解?

http://www.wxhsa.cn/company.asp?id=342

相关文章:

  • 再见 Cursor,Qoder 真香!这波要改写 AI 编程格局
  • 三.ubuntu22.04 使用C++部署PyTorch模型
  • alertmanager配置集群模式
  • 《Python数据结构与算法分析》代码
  • AI 是否绑架了云原生创新?
  • Windows 7 局域网打印机共享设置
  • SPFA求负环
  • 磁盘存储器
  • 多变量的递归2-组合总和问题(每个数字可以使用多次)
  • 戴尔Precision 7865 塔式工作站|安装rocky liunx 8.10
  • 基于STM32F411的AM2320温湿度采集程序
  • jmeter测试mysql
  • 博弈论杂谈
  • 基于MATLAB的图像配准与拼接实现
  • ESP-IDF在vscode环境下编译速度
  • Docker容器
  • EtherCAT总线介绍及耦合器EK1100
  • centos服务器定时任务备份数据库脚本
  • 小红书全量笔记数据集(含标题、正文、标签、互动量、图片等),可用于NLP、推荐算法、大模型训练、爆款文章生成、精准营销与市场分析
  • PVE跨集群迁移虚机
  • CF2022E 题解 | 数学、并查集
  • 领悟2025.9.10
  • Codeforces Round 1049 (Div. 2)
  • 告别资料混乱!PJMan 让项目文件管理,简单到不用找
  • 公众号文章如何添加附件?微信公众号支持附件下载Word、Excel、PDF、PPT等
  • 揭秘LedgerCTF的AES白盒挑战:逆向工程与密码学分析
  • Java11-快速启动指南-全-
  • 三万小时PB级院线级电影数据集,包含完整视频、音频和字幕多模态资源,专为视频大模型训练和多模态研究设计,适用于文生视频生成、影视剪辑、语义检索及智能内容管理
  • openssl编程之sm3哈希代码示例
  • CRMEB标准版PHP订单列表功能解析与实战应用