如何在 Linux 中永久禁用 Swap(交换空间)?

交换空间是位于磁盘分区顶部或特殊磁盘文件中的物理内存页,用于在物理内存填满时扩展系统的 RAM。当没有可用的 RAM 时,不活动的内存页通常会转储到交换区域,以此作为扩展 RAM 资源的方法。然而,由于标准硬盘的旋转速度,交换空间的传输速度和访问时间远低于 RAM。

在配备了高速 SSD 硬盘的新机器上,保留一个小分区用于交换将比传统 HDD 显著提高访问时间和传输速度,但速度仍然低于 RAM 内存。有些人建议将交换空间设置为计算机 RAM 的两倍。然而,在 RAM 超过 4 GB 的系统上,交换空间应设置为 2 或 4 GB。

如果您的服务器拥有足够的 RAM 内存,或者不需要使用交换空间,或者交换显著降低了您的设备性能,您可以考虑禁用交换区域。

在真正禁用交换空间之前,我们首先需要查看您的内存负载程度,然后通过发出以下命令来识别持有交换区域的分区。

free -h

查找“已使用的交换空间”大小。如果使用的大小是 0B 或接近 0 字节,我们可以假设交换空间未被密集使用,并且可以为了安全起见将其禁用。

!如何在 Linux 中永久禁用 Swap

接下来,在 blkid 命令后检查 TYPE="swap" 行以定义交换分区,如下面的屏幕截图所示。

blkid

!如何在 Linux 中永久禁用 Swap检查交换分区类型

同样,发出以下 lsblk 命令以搜索并识别 [SWAP] 分区,如下面的屏幕截图所示。

lsblk

!如何在 Linux 中永久禁用 Swap搜索确认交换分区

在识别出交换分区或文件后,运行以下命令以停用交换区域。

swapoff /dev/mapper/centos-swap

或者从 /proc/swaps 禁用所有交换。

swapoff -a

要检查交换区域是否已被禁用,请运行 free 命令。

free -h

!如何在 Linux 中永久禁用 Swap禁用交换分区

要永久禁用 Linux 交换空间,请打开 /etc/fstab 文件,找到交换行并在该行前面添加一个 #(井号)符号以注释掉整行,如下面的屏幕截图所示。

vi /etc/fstab

之后,重新启动系统以应用新的交换设置,或者在某些情况下发出 mount -a 命令可能就足够了。

mount -a

系统重启后,应发出本教程开头介绍的命令,以表明您系统中的交换区域已完全且永久地被禁用。

free -h
blkid  
lsblk

简单方法或其他步骤:

如果您真的想禁用交换(注意:不建议这样做,即使您非常确定有足够的物理 RAM),请按照以下步骤操作:

  • 运行 swapoff -a:这将立即禁用交换。
  • 从 /etc/fstab 中删除任何交换条目。
  • 重启系统。好的,如果交换消失了。如果由于某种原因它仍然存在,您必须删除交换分区。
  • 重复步骤 1 和 2,之后使用 fdisk 或 parted 删除(现在未使用的)交换分区。这里要非常小心:删除错误的分区将带来毁灭性的后果!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/43503.html
点赞
0.00 平均评分 (0% 分数) - 0