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


Linux是一个免费的开源操作系统,广泛应用于科技行业。它以其稳定性、安全性以及灵活性而闻名。Linux 的一个关键特性是能够使用交换空间有效地管理内存。交换空间允许系统使用硬盘空间作为虚拟内存,这有助于防止系统内存不足。

在本教程中,我们将讨论如何在Linux中永久禁用交换空间。禁用交换空间在拥有足够物理内存(RAM)并且不希望系统使用硬盘空间作为虚拟内存的情况下非常有用。如果系统硬盘空间有限,并且我们希望通过禁用交换来回收该空间,它也很有用。在文章的下一节中,我们将解释如何在继续永久解决方案之前临时禁用交换空间。

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

在我们继续永久禁用交换空间之前,让我们首先了解什么是交换空间以及如何在Linux中检查它。

交换空间是硬盘的一部分,操作系统将其用作虚拟内存。当系统物理内存(RAM)不足时,它会将非活动的内存页移动到交换空间,以释放RAM中用于活动进程的空间。这有助于防止系统由于内存不足而崩溃。

要检查当前的交换使用情况,我们可以使用“free”命令。打开终端并输入以下命令:

$ free -h

此命令的输出将显示当前的交换使用情况。“-h”选项用于以人类可读的格式显示输出。这是一个示例输出:

              total        used        free      shared  buff/cache   available
Mem:           7.7G        2.9G        2.0G        221M        2.7G        4.2G
Swap:          2.0G        0B          2.0G

在上面的输出中,“Swap”行显示系统共有2.0 GB的交换空间可用。在这种情况下,“used”列显示0B,这意味着系统当前未使用任何交换空间。

现在我们了解了交换空间的基础知识,让我们进入本文的下一节,学习如何禁用它。

禁用交换空间的使用

在Linux中禁用交换空间的使用有两种方法:临时和永久。临时禁用交换空间涉及使用“swapoff”命令关闭当前会话的交换空间。虽然此方法可用于测试目的,但它有一些缺点,例如降低系统的整体性能以及可能导致严重依赖交换空间的应用程序崩溃。因此,建议仅将此方法用于临时测试目的。

另一方面,永久禁用交换空间涉及编辑“/etc/fstab”文件以删除交换分区的条目。此方法可确保每次系统启动时都禁用交换空间。虽然设置可能需要更多努力,但它为管理Linux系统上的内存使用提供了更可靠和长期的解决方案。

为了更好地了解如何在Linux中禁用交换空间,让我们更详细地了解这两种方法。

临时禁用交换空间

要使用“swapoff”命令临时禁用交换空间。如果我们需要对系统进行维护并希望防止系统在维护期间使用交换空间,这将很有用。

要临时禁用交换空间,我们可以使用“swapoff”命令后跟交换分区的设备文件。打开终端并输入以下命令:

$ sudo swapoff -a

“-a”选项告诉命令禁用所有交换设备。如果我们只想禁用特定的交换设备,我们可以用设备文件路径(例如“/dev/sda3”)替换“-a”。

禁用交换空间后,我们可以在系统不使用交换空间的情况下执行维护任务。但是,临时禁用交换空间有一些缺点。例如,如果系统在交换被禁用时物理内存(RAM)不足,系统可能会崩溃或无响应。此外,如果系统处于高内存负载状态,禁用交换空间可能会导致性能问题。

现在我们已经介绍了如何临时禁用交换空间,让我们继续永久禁用它。

永久禁用交换空间

通过永久禁用交换空间,您可以确保系统将永远不会再次使用交换空间,除非您手动重新启用它。这为管理Linux系统上的内存使用提供了更可靠和长期的解决方案。

要永久禁用交换空间,我们需要编辑“/etc/fstab”文件。此文件包含系统上文件系统和交换空间的配置信息。

打开终端并输入以下命令以在文本编辑器中打开“/etc/fstab”文件:

$ sudo nano /etc/fstab

在“/etc/fstab”文件中找到指定交换分区的行。此行将包含“swap”字样以及交换分区的设备文件路径。

通过在行首添加“#”字符来注释掉此行。这将禁用该行并阻止系统使用交换分区。该行现在应该如下所示:

# /dev/sda3  none  swap  sw  0  0

保存对文件的更改并退出文本编辑器。

最后,我们需要通过运行以下命令来禁用系统上的交换空间:

$ sudo swapoff -a

这将立即禁用系统上的所有交换空间。

要确认交换空间已被永久禁用,我们可以再次运行“free -h”命令并检查“Swap”行。它应该在“used”列中显示“0B”,表示交换空间不再被系统使用。

以下是永久禁用交换空间后“free -h”命令的示例输出:

              total        used        free      shared  buff/cache   available
Mem:           7.8G        1.1G        5.5G        108M        1.2G        6.3G
Swap:            0B          0B          0B

正如您在上面的输出中看到的,“Swap”行在“used”和“free”列中都显示“0B”,这表明交换空间不再被系统使用。如果您在“used”列中看到任何其他值,则意味着交换空间仍在使用中,您可能需要仔细检查您的配置以确保它已被永久禁用。

结论

在本教程中,我们讨论了如何在Linux中永久禁用交换空间,Linux是一个以其稳定性、安全性以及灵活性而闻名的操作系统。交换空间是硬盘的一部分,操作系统将其用作虚拟内存,这有助于防止系统内存不足。我们解释了如何在继续永久解决方案之前临时禁用交换空间。通过永久禁用交换空间,我们可以确保系统将永远不会再次使用交换空间,从而为管理Linux系统上的内存使用提供更可靠和长期的解决方案。

更新于:2023年7月27日

6K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告