当前位置: 首页 > 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.zskr.cn/news/1740.html

相关文章:

  • 基于STM32F411的AM2320温湿度采集程序
  • 博弈论杂谈
  • 基于MATLAB的图像配准与拼接实现
  • ubuntu 修改 时间
  • CF2022E 题解 | 数学、并查集
  • 领悟2025.9.10
  • 公众号文章如何添加附件?微信公众号支持附件下载Word、Excel、PDF、PPT等
  • Java11-快速启动指南-全-
  • openssl编程之sm3哈希代码示例
  • timescaledb在ubuntu上的高可用部署步骤记录
  • Docker存储
  • SAC In JAX【个人记录向】
  • 1.2 亿篇论文数据集,多学科学术语料库,涵盖医学、化学、生物学、人文、物理、工程、数学、生态、经济与计算机科学,用于 NLP、知识图谱与大模型训练
  • Putty 工具集 plink和pscp使用
  • MyEMS:开源驱动下的企业能源管理革新者 —— 从技术架构到 “双碳” 落地的实践之路
  • 多进程、多线程、分布式锁
  • 介绍Activiti BPMN visualizer插件的图形界面
  • NvM代码级别的调用
  • ECT-OS-JiuHuaShan 与经典/量子计算模型存在根本性范式断裂
  • redis非阻塞锁
  • Appium元素等待
  • DropWizard-REST-Web-服务指南-全-
  • Spring Boot如何启动嵌入式Tomcat?
  • sql随机查看数据
  • 83、SpringMVC全局异常处理和数据校验
  • 依然是dots的介绍视频
  • ​​射频线:无线世界的隐形动脉
  • kettle基本操作2:使用日期字段分批次同步数据
  • 麒麟系统kylinServerV10中通过docker安装ActiveMQ
  • 聊一聊 .NET 某跨境物流系统 内存暴涨分析