交换空间是任何 Linux 系统的关键组件,在系统物理内存 (RAM) 不足时充当安全网。它是硬盘驱动器的专用部分,系统将其用作 RAM。本文提供了有关如何在 Ubuntu 22.04 LTS 上添加交换空间的综合指南,确保您的系统即使在重负载下也能平稳运行。
了解交换空间
交换空间提供“虚拟内存”来补充系统的物理 RAM。当应用程序需要的 RAM 多于物理可用 RAM 时,内核会将数据从内存交换到磁盘。切换到专用分区或文件可防止系统内存不足和崩溃。Linux 系统利用交换空间的常见情况包括:
- 同时运行多个内存密集型应用程序
- 处理非常大的文件或数据集
- 运行虚拟机或容器
- 从源代码编译或构建软件
交换空间不足会导致性能下降、应用程序崩溃和内存不足错误。监控工具,例如并提供对交换使用情况的可见性。如果系统经常达到交换限制,则添加更多空间可以提高稳定性。top
free
准备步骤
在创建交换文件之前,请务必检查系统是否已有交换空间以及硬盘驱动器上有多少可用空间。
要检查现有交换空间,请使用以下命令:
<span class="pln">sudo swapon </span><span class="pun">--</span><span class="pln">show</span>
如果输出为空,则表示您的系统还没有交换空间。要检查硬盘上的可用空间,请使用以下命令:
<span class="pln">df </span><span class="pun">-</span><span class="pln">h</span>
创建交换文件
确认硬盘上有足够的可用空间后,可以创建交换文件。交换文件的大小取决于系统的需求,但一个好的经验法则是使其等于系统上的 RAM 量。 要创建 1GB 的交换文件,请使用以下命令:
<span class="pln">sudo fallocate </span><span class="pun">-</span><span class="pln">l </span><span class="lit">1G</span> <span class="pun">/</span><span class="pln">swapfile</span>
保护交换文件
创建交换文件后,请务必通过更改其权限来保护它。这可确保只有 root 用户才能读取文件,从而保护您的系统免受潜在的安全威胁。
要更改交换文件权限,请使用以下命令:
<span class="pln">sudo chmod </span><span class="lit">600</span> <span class="pun">/</span><span class="pln">swapfile</span>
设置交换空间
创建并保护交换文件后,可以将其设置为交换空间。首先,使用 mkswap
命令设置交换区域:
<span class="pln">sudo mkswap </span><span class="pun">/</span><span class="pln">swapfile</span>
然后,使用 swapon
命令启用交换文件:
<span class="pln">sudo swapon </span><span class="pun">/</span><span class="pln">swapfile</span>
验证交换空间
设置交换空间后,请务必验证它是否可用且正常运行。您可以再次使用 swapon --show
命令来执行此操作。如果交换空间设置正确,您现在应该会看到一个输出,其中显示了交换文件的路径、大小和其他信息。
在 Ubuntu 22.04 LTS 上添加交换空间是一个简单的过程,可以显着提高系统在高负载下的性能。通过按照本指南中概述的步骤操作,可以确保系统在物理内存耗尽时具有适当的安全网。与往常一样,请记住,虽然交换空间是一个有用的工具,但它不能替代足够的物理内存,因此请确保您的系统有足够的 RAM 来满足其需求。