简介
在本实验中,我们将探索 Linux 的 mkswap 命令,该命令用于在磁盘分区或文件中设置交换区域。交换空间是操作系统的重要组成部分,当物理内存(RAM)已满时,它提供临时存储空间。在本实验中,我们将学习如何创建一个交换文件,使用 mkswap 命令对其进行初始化,然后启用并验证其使用情况。本实验涵盖了在 Linux 系统中有效管理交换空间的关键步骤。
实验主要包括三个步骤:理解 mkswap 命令的用途、使用 mkswap 命令创建交换文件,以及启用交换文件并验证其使用情况。通过本实验,你将深入了解如何在 Linux 环境中设置和管理交换空间。
理解 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/sda5。mkswap 命令用于初始化此交换分区或交换文件,以便操作系统可以开始使用它。
在下一步中,我们将学习如何使用 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 命令的用途,该命令用于在磁盘分区或文件中设置交换区域。接着,我们学习了如何使用 dd 和 mkswap 命令创建一个 2GB 的交换文件,最后启用了交换文件并验证了其使用情况。
完成这些步骤后,我们现在对如何在 Linux 系统中管理交换空间有了更深入的理解,这对于在物理内存有限的情况下提升系统性能非常有用。



