zhangjiannan
项目案例 核心能力 交付流程 文档库
ON THIS PAGE
    # ubuntu2204永久关闭swap分区 **文档控制** |**序号**|**修改人/验证人**|**修改内容**|**日期**| |---|---|---|---| |1|zhangjiannan|创建文档|2025\.2\.15| ||||| ||||| ||||| # 一、关于本指导书 ## 1\.1 指导书目的 针对客户要求关闭系统swap分区的情况,为实施人员提供简明规范性技术指导。 ## 1\.2 指导书适用对象 本指导书适用于涉及服务器交付的实施人员。 ## 1\.3 指导书中的格式定义 本指导书代码块中内容为执行的shell命令及输出,例如: ```Bash [bjuci@server01 ~]$ ls Intel ``` ## 1\.4 本指导书测试平台 |**处理器平台**|Intel\(R\) Core\(TM\) i7\-1165G7 @ 2\.80GHz| |---|---| |**操作系统版本**|Ubuntu 22\.04\.4 LTS Server版| |**前置条件**|系统安装完毕| ## 1\.5 所需软件官方下载地址 |不涉及|不涉及| |---|---| # 二、背景介绍 部分客户会要求关闭swap分区。 ## 2\.1 什么是swap分区 Swap 分区 是一种在 Linux 系统中用于虚拟内存管理的特殊磁盘分区。当物理内存(RAM)不足时,系统会将一部分内存内容临时转移到硬盘的 swap 分区上,以便释放内存空间给当前正在运行的程序。通过使用 swap,系统可以避免内存溢出,但它的性能比直接使用物理内存慢得多,因为硬盘的读写速度远远低于内存。 ## 2\.2 主要功能: - **虚拟内存扩展**: - 当物理内存不够用时,Linux 系统会将暂时不活跃的内存页交换到 swap 分区,这样可以为活跃的程序释放更多内存。 - 这样做让系统能够运行更多的进程,即使它的物理内存不足以容纳所有正在运行的进程。 - **系统稳定性**: - 如果没有 swap 分区且物理内存不足,系统可能会出现 **Out of Memory \(OOM\)** 错误,这时内存不足的程序会被杀死,可能会影响系统稳定性和数据完整性。 - 使用 swap 分区可以防止这种情况,确保在内存不足时系统能够平稳运行。 - **休眠功能**: - 如果你使用的是休眠(Hibernate)功能,swap 分区通常会用来存储系统的内存内容。休眠时,整个系统的内存内容会被保存到 swap 分区,在下次启动时,系统会从 swap 中恢复到上次的状态。 ## 2\.3 Swap 的类型: - **Swap 分区**: - 这是最传统的 swap 类型,它是磁盘上的一个独立分区,专门用于交换内存数据。 - 创建时需要在磁盘上预留一个专门的分区。 - **Swap 文件**: - 如果不希望为 swap 分配专门的分区,可以使用一个普通文件作为 swap 区域,这叫做 swap 文件。 - 这种方法灵活性更高,因为可以根据需求动态调整文件的大小,而不需要重新分区。 ## 2\.4 Swap 的工作原理: - 当系统的内存(RAM)使用达到一定阈值时,Linux 内核会将不常使用的内存页面(比如长时间未访问的进程数据)写入 swap 分区。这个过程叫做 **交换(paging)**。 - 当需要使用这些被交换出去的内存时,内核会将它们从磁盘加载回内存。 - 由于硬盘的读写速度比 RAM 慢很多,因此频繁使用 swap 会导致系统性能下降,尤其是在机械硬盘上,SSD 性能稍好,但仍然比内存差得多。 ## 2\.5 Swap 分区的大小建议: - **传统建议**:早期的建议是将 swap 分区大小设置为物理内存的两倍。然而,这一建议在现代计算机上并不总是适用,尤其是当物理内存已经非常大的时候。 - **现代建议**: - 如果系统有 8GB 或更少的 RAM,设置 1\.5 到 2 倍的 swap 大小比较常见。 - 对于拥有更大内存的系统(比如 16GB 或更多),swap 的大小可以与 RAM 相同,或者更小,甚至可以不设置 swap 分区,特别是当你不打算使用休眠功能时。 - 有些用户建议将 swap 大小设置为 4GB 左右,以确保系统的稳定性,但具体大小取决于应用的需求。 ## 2\.6 Swap 的优缺点: **优点**: - **延长系统的使用时间**:即使内存不足,swap 可以帮助系统继续运行,避免崩溃。 - **节省物理内存**:对于低内存系统来说,swap 提供了一种扩展虚拟内存的方式。 - **休眠支持**:启用 swap 后,系统可以使用休眠功能,将内存内容保存到硬盘中,节省电力。 **缺点**: - **性能问题**:硬盘的读写速度远慢于内存,频繁使用 swap 会导致系统性能显著下降。 - **不必要的磁盘使用**:如果系统有足够的 RAM,使用 swap 可能会浪费硬盘空间,且影响硬盘寿命(尤其是在传统 HDD 上,过多的写操作可能缩短硬盘寿命)。 - **管理复杂性**:需要分配额外的磁盘空间来存储 swap 数据,这可能导致磁盘空间的浪费。 # 三、禁用方案 `swapoff -a` 只是 临时关闭 系统中的所有 swap 分区或 swap 文件,它不会在系统重启后保持关闭状态。 ### 3\.1 如何永久关闭 swap 分区 要永久禁用 swap 设备,你需要执行以下步骤: - **禁用 swap**: 使用 `swapoff -a` 临时禁用所有 swap 设备: ```Bash sudo swapoff -a ``` - **禁用 ****`/etc/fstab`**** 中的 swap 配置**: 打开 `/etc/fstab` 文件,查找挂载了 swap 的条目(通常是 `swap` 分区或 swap 文件),然后注释掉该行: ```Bash sudo vim /etc/fstab ``` - 注释掉类似下面的行,这是swap分区的形式 ```Bash UUID=xxxx\-xxxx\-xxxx\-xxxx swap swap defaults 0 0 ``` - 或者如果是swap文件 ```Bash /swapfile swap swap defaults 0 0 ``` ![image\.png](图片和附件/image.png) - **重启系统**: 重启系统后,swap 将不会被重新启用,因为 `fstab` 中的配置已经被注释掉了。 - **验证是否禁用**: 你可以通过以下命令检查系统是否启用了 swap: ```Bash swapon --show ``` - 如果没有输出,说明 swap 已被成功禁用。 ![image\.png](图片和附件/image%202.png) 同时也可以执行free \-h看交空间的使用情况 ![image\.png](图片和附件/image%201.png)
    DOCUMENT FEEDBACK
    暂无留言,欢迎提交反馈。