Linux swapoff 命令及实用示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何在 Linux 中使用 swapoff 命令来禁用交换分区或交换文件。你还将学习如何识别系统中的交换分区和交换文件,然后使用 swapoff 命令禁用它们。这在多种场景下非常有用,例如当你想要调整交换分区的大小或删除交换分区时,或者当你希望为其他进程释放内存时。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/SystemInformationandMonitoringGroup -.-> linux/df("Disk Space Reporting") linux/SystemInformationandMonitoringGroup -.-> linux/free("Memory Reporting") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") subgraph Lab Skills linux/cat -.-> lab-422941{{"Linux swapoff 命令及实用示例"}} linux/df -.-> lab-422941{{"Linux swapoff 命令及实用示例"}} linux/free -.-> lab-422941{{"Linux swapoff 命令及实用示例"}} linux/sudo -.-> lab-422941{{"Linux swapoff 命令及实用示例"}} end

理解 swapoff 命令的作用

在这一步中,你将学习 Linux 中 swapoff 命令的作用。swapoff 命令用于禁用交换分区或交换文件,这些交换空间在物理内存(RAM)耗尽时由操作系统提供额外的内存支持。

当你运行 swapoff 命令时,它会立即停止使用指定的交换空间,并释放被交换空间占用的内存。这在多种场景下非常有用,例如当你想要调整交换分区的大小或删除交换分区时,或者当你希望为其他进程释放内存时。

让我们首先检查系统中当前的交换空间使用情况:

free -h

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           1.9Gi       528Mi       1.1Gi       4.0Mi       298Mi       1.2Gi
Swap:          2.0Gi       0Bi         2.0Gi

在这个示例中,我们可以看到当前正在使用一个 2 GB 的交换分区。

现在,让我们使用 swapoff 命令禁用交换空间:

sudo swapoff -a

-a 选项告诉 swapoff 禁用系统上的所有交换分区和交换文件。

运行 swapoff 命令后,让我们验证交换空间是否已禁用:

free -h

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           1.9Gi       528Mi       1.1Gi       4.0Mi       298Mi       1.2Gi
Swap:          0Bi         0Bi         0Bi

如你所见,交换空间现在已被禁用,"Swap" 行的总大小和使用大小均显示为 0 字节。

识别交换分区和交换文件

在这一步中,你将学习如何识别 Linux 系统中的交换分区和交换文件。

首先,让我们使用 free 命令检查当前的交换空间使用情况:

free -h

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           1.9Gi       528Mi       1.1Gi       4.0Mi       298Mi       1.2Gi
Swap:          2.0Gi       0Bi         2.0Gi

从输出中可以看到,当前正在使用一个 2 GB 的交换分区。

要获取有关交换分区和交换文件的更详细信息,可以使用 swapon 命令并加上 -s 选项:

sudo swapon -s

示例输出:

Filename                                Type            Size    Used    Priority
/dev/sda2                                partition       2097148 0       -2

此输出显示交换空间是一个位于 /dev/sda2 的分区,大小为 2 GB。

你还可以使用 cat 命令查看 /proc/swaps 文件的内容,该文件提供了类似的信息:

cat /proc/swaps

示例输出:

Filename                                Type            Size    Used    Priority
/dev/sda2                                partition       2097148 0       -2

如果你的系统上配置了任何交换文件,它们也会在这些命令的输出中列出。

使用 swapoff 命令禁用交换空间

在这最后一步中,你将学习如何使用 swapoff 命令禁用交换分区或交换文件。

首先,让我们确认当前的交换空间使用情况:

free -h

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           1.9Gi       528Mi       1.1Gi       4.0Mi       298Mi       1.2Gi
Swap:          2.0Gi       0Bi         2.0Gi

如你所见,当前正在使用一个 2 GB 的交换分区。

要禁用交换空间,请运行以下命令:

sudo swapoff -a

-a 选项告诉 swapoff 禁用系统上的所有交换分区和交换文件。

运行 swapoff 命令后,让我们验证交换空间是否已禁用:

free -h

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           1.9Gi       528Mi       1.1Gi       4.0Mi       298Mi       1.2Gi
Swap:          0Bi         0Bi         0Bi

现在,"Swap" 行的总大小和使用大小均显示为 0 字节,表明交换空间已被禁用。

总结

在本实验中,你学习了 Linux 中 swapoff 命令的作用,该命令用于禁用交换分区或交换文件。你首先使用 free 命令检查了系统中当前的交换空间使用情况,然后使用 swapoff -a 命令禁用了交换空间。禁用交换空间后,你验证了交换空间已不再使用。此外,你还学习了如何使用 free 命令识别 Linux 系统中的交换分区和交换文件。

Linux 命令速查表