Linux mkswap 命令实用示例

LinuxLinuxBeginner
立即练习

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

简介

在本实验中,我们将探索 Linux 的 mkswap 命令,该命令用于在磁盘分区或文件中设置交换区域。交换空间是操作系统的重要组成部分,当物理内存(RAM)已满时,它提供临时存储空间。在本实验中,我们将学习如何创建一个交换文件,使用 mkswap 命令对其进行初始化,然后启用并验证其使用情况。本实验涵盖了在 Linux 系统中有效管理交换空间的关键步骤。

实验主要包括三个步骤:理解 mkswap 命令的用途、使用 mkswap 命令创建交换文件,以及启用交换文件并验证其使用情况。通过本实验,你将深入了解如何在 Linux 环境中设置和管理交换空间。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/SystemInformationandMonitoringGroup -.-> linux/free("Memory Reporting") linux/SystemInformationandMonitoringGroup -.-> linux/dd("File Converting/Copying") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") subgraph Lab Skills linux/free -.-> lab-422813{{"Linux mkswap 命令实用示例"}} linux/dd -.-> lab-422813{{"Linux mkswap 命令实用示例"}} linux/sudo -.-> lab-422813{{"Linux mkswap 命令实用示例"}} end

理解 mkswap 命令的用途

在这一步骤中,我们将探讨 Linux 中 mkswap 命令的用途。mkswap 命令用于在磁盘分区或文件中设置 Linux 交换区域。当物理内存(RAM)已满时,操作系统会使用交换空间。当系统耗尽 RAM 时,它可以使用磁盘上的交换空间来临时存储较少使用的数据,从而释放 RAM 以供更活跃的进程使用。

为了理解 mkswap 命令的用途,我们首先检查系统当前的交换状态:

sudo swapon --show

示例输出:

NAME      TYPE SIZE USED PRIO
/dev/sda5 partition 2G 0B -2

如你所见,系统当前配置了一个大小为 2GB 的交换分区 /dev/sda5mkswap 命令用于初始化此交换分区或交换文件,以便操作系统可以开始使用它。

在下一步中,我们将学习如何使用 mkswap 命令创建交换文件。

使用 mkswap 命令创建交换文件

在这一步骤中,我们将使用 mkswap 命令创建一个交换文件。

首先,我们在 ~/project 目录下创建一个 2GB 的交换文件:

sudo dd if=/dev/zero of=~/project/swapfile bs=1024k count=2048

该命令将在 ~/project 目录下创建一个名为 swapfile 的 2GB 文件。

接下来,我们需要使用 mkswap 命令初始化交换文件:

sudo mkswap ~/project/swapfile

示例输出:

Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=a4a4d2d9-6f1f-4fca-9c2d-7f8d5c3d4c2a

mkswap 命令会设置交换文件并为其分配一个 UUID。此 UUID 将用于后续引用该交换文件。

现在,交换文件已创建并初始化完成,我们可以继续下一步以启用它。

启用交换文件并验证其使用情况

在这最后一步中,我们将启用上一步中创建的交换文件并验证其使用情况。

首先,使用 swapon 命令启用交换文件:

sudo swapon ~/project/swapfile

示例输出:

[sudo] password for labex:

系统可能会提示输入 sudo 密码,输入密码(如果需要)以启用交换文件。

接下来,我们验证交换文件是否已启用并被系统使用:

sudo swapon --show

示例输出:

NAME      TYPE SIZE USED PRIO
/dev/sda5 partition 2G 0B -2
/home/labex/project/swapfile file 2G 0B -3

输出显示交换文件 /home/labex/project/swapfile 已启用并可供系统使用。

为了进一步验证交换空间的使用情况,我们可以使用 free 命令:

free -h

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           1.9Gi       561Mi       977Mi        17Mi       375Mi       1.2Gi
Swap:          2.0Gi         0B        2.0Gi

输出显示 2GB 的交换文件可用且当前未被使用(0B 已使用)。

现在,交换文件已启用并验证完成,你已成功完成本实验。

总结

在本实验中,我们首先探讨了 Linux 中 mkswap 命令的用途,该命令用于在磁盘分区或文件中设置交换区域。接着,我们学习了如何使用 ddmkswap 命令创建一个 2GB 的交换文件,最后启用了交换文件并验证了其使用情况。

完成这些步骤后,我们现在对如何在 Linux 系统中管理交换空间有了更深入的理解,这对于在物理内存有限的情况下提升系统性能非常有用。

Linux 命令速查表