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分区内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • VPS主机CentOS系统安装LNMP环境图文教程分享

    VPS主机CentOS系统安装LNMP环境图文教程分享

    今天先来在CentOS中安装LNMP系统,最低的系统要求为128M内存,我相信大家的VPS最低也应该有256M内存,我测试的机器为512M内存,HE机房线路机器
    2012-09-09
  • 使用htaccess规范化网址的配置

    使用htaccess规范化网址的配置

    使用htaccess规范化网址,提高程序的运行效率。
    2010-02-02
  • Linux检测远程服务器端口的几种方法

    Linux检测远程服务器端口的几种方法

    作为系统管理员、网络工程师或应用程序开发人员,需要检查远程服务器上的端口是否打开,以便您可以判断所检查的服务是否正在运行,所以本文给大家介绍了Linux检测远程服务器端口的几种方法,需要的朋友可以参考下
    2024-06-06
  • linux 下隐藏进程的一种方法及遇到的坑

    linux 下隐藏进程的一种方法及遇到的坑

    这篇文章主要介绍了linux 下隐藏进程的一种方法,主要实现思路就是利用 LD_PRELOAD 来实现系统函数的劫持,具体实现代码,需要的朋友可以参考下
    2018-09-09
  • 在VM虚拟机中CentOS7安装VMware Tools全过程

    在VM虚拟机中CentOS7安装VMware Tools全过程

    这篇文章主要介绍了在VM虚拟机中CentOS7安装VMware Tools全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Linux环境下安装MySQL全过程

    Linux环境下安装MySQL全过程

    在Linux系统中安装MySQL需先切换至root用户,卸载原有MariaDB/MySQL包,添加官方yum源,安装服务,配置my.cnf并设置权限,最后通过临时密码或跳过验证登录
    2025-08-08
  • Linux下的粘滞位详细介绍

    Linux下的粘滞位详细介绍

    这篇文章主要介绍了Linux下的粘滞位详细介绍的相关资料,需要的朋友可以参考下
    2017-03-03
  • Linux下安装tomcat并部署网站(推荐)

    Linux下安装tomcat并部署网站(推荐)

    这篇文章主要介绍了Linux下安装tomcat并部署网站,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Ubuntu解除文件锁定的几种方法

    Ubuntu解除文件锁定的几种方法

    在Ubuntu中,解除文件锁定的方法取决于文件被哪个进程锁定,本文给大家介绍了几种常见的解除文件锁定的方法,并通过代码示例讲解的非常详细,需要的朋友可以参考下
    2025-06-06
  • centos7下安装oracle11gR2的详细步骤

    centos7下安装oracle11gR2的详细步骤

    本篇文章主要介绍了centos7下安装oracle11gR2的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论