介绍
在本实验中,你将学习如何使用 swapon
命令在 Linux 中管理交换空间(swap space)。交换空间是硬盘上的一个保留区域,当系统内存(RAM)不足时,操作系统可以使用它。你将首先了解交换空间的概念,然后检查当前的交换空间使用情况和配置,最后创建并启用一个新的交换文件。本实验涵盖了实际示例,并提供了逐步指导,帮助你有效地管理 Linux 系统上的交换空间。
在本实验中,你将学习如何使用 swapon
命令在 Linux 中管理交换空间(swap space)。交换空间是硬盘上的一个保留区域,当系统内存(RAM)不足时,操作系统可以使用它。你将首先了解交换空间的概念,然后检查当前的交换空间使用情况和配置,最后创建并启用一个新的交换文件。本实验涵盖了实际示例,并提供了逐步指导,帮助你有效地管理 Linux 系统上的交换空间。
在这一步中,你将学习 Linux 中交换空间的概念。交换空间是硬盘上的一个保留区域,当系统的 RAM(随机存取内存)不足时,操作系统可以使用它。当系统需要的内存超过可用 RAM 时,它可以将不活跃的内存页从 RAM 临时转移到交换空间,从而释放 RAM 以供更活跃的进程使用。
交换空间可以是硬盘上的一个专用分区,也可以是一个交换文件。交换分区通常在操作系统安装时创建,而交换文件可以在之后创建和管理。
使用交换空间有助于防止系统内存耗尽,内存不足可能导致性能下降甚至系统崩溃。然而,过度使用交换空间也会对系统性能产生负面影响,因为访问硬盘上的数据比访问 RAM 中的数据要慢得多。
要检查当前的交换空间使用情况和配置,你可以使用 free
命令:
$ free -h
total used free shared buff/cache available
Mem: 1.9Gi 144Mi 1.6Gi 2.7Mi 141Mi 1.6Gi
Swap: 2.0Gi 0B 2.0Gi
在示例输出中,系统配置了 1.9 GiB 的 RAM 和 2.0 GiB 的交换空间。
在这一步中,你将学习如何检查 Linux 系统上当前的交换空间使用情况和配置。
首先,你可以使用 free
命令来显示当前的内存使用情况,包括交换空间:
$ free -h
total used free shared buff/cache available
Mem: 1.9Gi 144Mi 1.6Gi 2.7Mi 141Mi 1.6Gi
Swap: 2.0Gi 0B 2.0Gi
输出显示系统有 1.9 GiB 的 RAM 和 2.0 GiB 的交换空间,当前交换空间的使用量为 0 字节。
你还可以使用 swapon
命令获取更详细的交换空间配置信息:
$ sudo swapon --show
NAME TYPE SIZE USED PRIO
/dev/sda2 partition 2.0G 0B -2
该命令显示了交换空间设备、类型、大小、当前使用情况和优先级。在此示例中,交换空间配置为一个大小为 2.0 GB 的分区,优先级为 -2。
要获取更详细的信息,你可以使用 cat
命令读取 /proc/swaps
文件的内容:
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda2 partition 2097148 0 -2
该文件提供了与 swapon --show
命令相同的信息,但格式不同。
在这一步中,你将学习如何在 Linux 系统上创建并启用一个交换文件。
首先,让我们创建一个大小为 1 GB 的交换文件:
$ sudo fallocate -l 1G /swapfile
$ sudo chmod 600 /swapfile
fallocate
命令用于创建指定大小的文件(在此示例中为 1 GB),而 chmod
命令为交换文件设置适当的权限。
接下来,你需要格式化交换文件并启用它:
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
mkswap
命令用于初始化交换文件,而 swapon
命令用于启用交换文件。
要验证交换文件是否已启用,你可以再次使用 free
命令:
$ free -h
total used free shared buff/cache available
Mem: 1.9Gi 144Mi 1.6Gi 2.7Mi 141Mi 1.6Gi
Swap: 3.0Gi 0B 3.0Gi
输出显示,交换空间的总大小现在为 3.0 GB,其中包括你刚刚创建的 1 GB 交换文件。
为了使交换文件在系统重启后仍然有效,你需要在 /etc/fstab
文件中为其添加一个条目:
$ echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
这会在 /etc/fstab
文件中添加一行,使系统在启动时自动启用交换文件。
在本实验中,你学习了 Linux 中交换空间的概念,交换空间是硬盘上的一个保留区域,当系统内存(RAM)不足时,操作系统可以使用它。你还学习了如何使用 free
命令检查当前的交换空间使用情况和配置。最后,你学习了如何创建并启用交换文件,这在需要超出交换分区提供的额外交换空间时非常有用。