Linux系统中关闭swap分区的完整操作步骤

 更新时间:2025年10月28日 09:20:51   作者:会飞的土拨鼠呀  
这篇文章主要介绍了在Linux系统中关闭swap分区的步骤,包括查看swap使用情况、临时关闭swap、永久关闭swap并编辑/etc/fstab文件、重启系统验证以及注意事项,需要的朋友可以参考下

在 Linux 系统中关闭 swap 分区(或交换文件)的步骤如下,请务必在操作前保存所有数据,以免丢失:

完整操作步骤:

1. 查看当前 swap 使用情况

free -h
swapon --show     # 查看活跃的 swap 设备

示例输出:

NAME      TYPE      SIZE USED PRIO
/dev/sdb1 partition  2G   0B   -2

2. 临时关闭 swap

sudo swapoff -a      # 关闭所有 swap 分区/文件(立即生效但重启失效)

3. 永久关闭 swap

编辑 /etc/fstab 文件

sudo vim /etc/fstab  # 也可用 nano 或其他编辑器

找到 swap 相关行 ,在行首添加

注释或直接删除该行

示例(注释前):

/dev/sdb1  none  swap  sw  0  0
# 或针对 swap 文件: /swapfile none swap sw 0 0

修改后:

#/dev/sdb1  none  swap  sw  0  0  # 已注释禁用

提示:使用 grep swap /etc/fstab 快速定位 swap 配置。

4. 重启系统验证

sudo reboot

重启后检查:

free -h        # Swap 应显示 0
swapon --show   # 无输出即表示已关闭

重要注意事项:

内存不足风险
关闭 swap 后系统将无法使用磁盘空间缓解内存压力,若物理内存耗尽会导致进程崩溃或系统锁定。建议仅在以下情况操作:

  • 物理内存非常充足(如服务器的内存 > 总需求峰值)
  • 特定优化场景(如数据库服务器)

临时启用 swap
若需临时恢复 swap(不修改 fstab):

sudo swapon -a  # 重新启用 /etc/fstab 中未注释的 swap

删除 swap 文件(可选)
如果使用 swap ​​文件​​且想彻底删除:

sudo swapoff /swapfile          # 先关闭
sudo rm /swapfile               # 删除文件

调整内核参数(高级可选)
如需彻底禁止系统使用 swap(即使 fstab 存在配置):

echo "vm.swappiness=0" | sudo tee -a /etc/sysctl.conf  # 禁止倾向使用 swap
sudo sysctl -p                                       # 立即生效

常见问题解决:

  • swapoff 卡住:通常因 swap 使用率较高引起,尝试:
    1. 提前清理内存占用(结束非关键进程)
    2. 增量关闭:sudo swapoff /dev/sdb1(指定具体设备)
    3. 耐心等待(系统需将 swap 数据移回内存)
  • 重启后 swap 仍存在
    检查是否还有其他 swap 项在 /etc/fstab 中未被注释,或存在 systemd 的 swap 单元(通过 systemctl list-unit-files | grep swap 检查)。

通过以上步骤,您已安全关闭 Linux 系统的 swap 分区。

到此这篇关于Linux系统中关闭swap分区的完整操作步骤的文章就介绍到这了,更多相关Linux关闭swap分区内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Linux patch命令参数及用法

    详解Linux patch命令参数及用法

    本篇文章文章主要介绍了linux patch命令,此命令用于为特定软件包打补丁,他使用diff命令对源文件进行操作。有兴趣的可以了解一下。
    2016-11-11
  • Linux实现IP地址转换函数的全面指南

    Linux实现IP地址转换函数的全面指南

    本文全面介绍了Linux系统中IP地址转换函数的使用方法,涵盖了IPv4和IPv6地址在字符串与二进制形式间的相互转换,下面小编就和大家详细介绍一下吧
    2026-01-01
  • Linux下部署MySQL5.7.35全过程

    Linux下部署MySQL5.7.35全过程

    这篇文章主要介绍了Linux下部署MySQL5.7.35全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-07-07
  • Linux系统中jdk环境配置方式

    Linux系统中jdk环境配置方式

    这篇文章主要介绍了Linux系统中jdk环境配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • linux下配置yum源方法详解

    linux下配置yum源方法详解

    本篇文章主要介绍了linux下配置yum源方法详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12
  • web服务器iptables配置脚本实现代码

    web服务器iptables配置脚本实现代码

    这篇文章主要介绍了web服务器iptables配置脚本实现代码的相关资料,需要的朋友可以参考下
    2017-06-06
  • linux中grep命令数据过滤和筛选方式

    linux中grep命令数据过滤和筛选方式

    这篇文章主要介绍了linux中grep命令数据过滤和筛选方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 简单谈谈centos7中配置php

    简单谈谈centos7中配置php

    windows server2008下搭建PHP运行环境,用IIS+PHP或者phpstudy,或wamp。今天试了试,在linux下搭建php运行环境。感觉还不错。
    2018-06-06
  • Linux printf如何将十进制转换为十六进制

    Linux printf如何将十进制转换为十六进制

    文章总结:介绍了十进制、十六进制和八进制之间的转换方法,包括使用\b命令和bc工具进行转换的技巧
    2024-12-12
  • CentOS 最新版本git的安装教程

    CentOS 最新版本git的安装教程

    本文主要给大家介绍了CentOS 最新版本git的安装教程,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-11-11

最新评论