题目描述
向您的系统添加一个 756 MiB
的额外交换分区,该交换分区应在系统启动时自动挂载。注意:不要删除或以任何方式改动系统上的任何现有交换分区。
核心命令[?]
fdisk /dev/vdb p [Enter] [Enter] +756M w lsblk mkswap /dev/vdb3 vim /etc/fstab /dev/vdb3 swap swap defaults 0 0 swapon -a free -m
详细解析[?]
首先,可以使用 free -m
命令查看一下当前系统中物理内存和交换分区的基本情况,free
命令的 -m
参数能够以 MB
为单位输出物理内存和交换分区的总量、使用量和空闲量。
由于创建交换分区就是将一部分硬盘空间当作物理内存来用,因此,我们可以使用 lsblk
命令查看一下当前系统中的磁盘以及分区情况。
通过前面的准备工作,特别是 lsblk
命令的返回结果,在编写本文时,我选择使用 /dev/
目录下的 vdb
这块磁盘来创建交换分区。
在创建交换分区之前,我们首先要对磁盘进行分区,也就是在选定的磁盘上划分出一块用作交换分区的磁盘分区,这里我们使用 fdisk
命令在 /dev/vdb
磁盘上创建一个 756MB
的分区,具体命令如下:
fdisk /dev/vdb
回车之后,fdisk
命令开始执行,且命令提示符变为 Command (m for help):
. 我们在该命令提示信息的后面输入 n
并回车,开始创建新分区;
之后,出现类似如下返回信息,询问我们是创建主分区,还是扩展分区:
Partition type p primary (2 primary, 0 extended, 2 free) e extended (container for logical partitions) Select (default p):
根据上面的返回信息可知,当前磁盘上已经存在两个主分区,还可以创建两个分区,由于主分区在层级关系上优先于扩展分区,因此,在这里我们选择创建一个主分区(primary),于是,在命令提示信息 Select (default p):
的后面输入 p
并回车;
接着,命令提示信息变为 Partition number (3,4, default 3):
, 询问我们选择哪个分区编号,这里使用默认的编号 3
即可,于是,什么也不需要输入,直接回车进入下一步;
接着,命令提示信息变为 First sector (2095106-8388607, default 2097152):
, 这一步要求我们设置该分区的开始扇区,直接使用默认的开始扇区即可,因此,什么也不需要输入,直接回车进入下一步;
接着,命令提示信息变为如下内容:
Last sector, +sectors or +size{K,M,G,T,P} (2097152-8388607, default 8388607):
这一步需要我们设置该分区的结束扇区或者该分区的大小,为了方便起见,我们这里不去计算合适的结束扇区,直接通过设置分区的大小的方式进行设置即可,于是,根据题目要求,输入 +756M
后回车即可。
最后,命令提示信息又变回了最初的 Command (m for help):
, 这也表明,我们此次磁盘分区操作即将完成,在该命令提示信息的后面输入 w
后回车,将前面的分区设置写入磁盘即可。如果前面的分区操作没有错误,回车之后可以看到意思为“分区表已被更改。同步磁盘。”的英文提示信息,如下:
The partition table has been altered. Syncing disks.
使用 lsblk
命令查看可以发现,我们刚刚创建的,大小为 756MB
的磁盘分区名称为 vdb3
, 如图 02 所示:
接下来,我们使用 mkswap
这个命令,将 vdb3
这个分区设置为交换分区,具体命令如下:
mkswap /dev/vdb3
上述命令的执行结果如下:
Setting up swapspace version 1, size = 756 MiB (792719360 bytes) no label, UUID=b50facba-7837-4169-90c9-a9fd51fc8c33
为了能使该交换分区在每次开机的时候都被自动挂载,我们需要在 /etc
目录下的 fstab
文件中写入该分区的挂载信息。
首先,打开并编辑 /etc/fstab
文件:
vim /etc/fstab
在该文件的末尾加上如下配置信息:
/dev/vdb3 swap swap defaults 0 0
注:
上述命令中,每列的含义如下:
[1]. 第一列的
/dev/vdb3
表示要挂载的分区的名称;[2]. 第二列的
swap
表示设备的挂载点;[3]. 第三列的
swap
表示该分区所使用的文件系统类型;[4]. 第四列的
defaults
表示对该文件系统使用默认的参数配置;[5]. 第五列的
0
表示不使用dump
命令做备份;[6]. 第六列的
0
表示不在开机的过程中对相关扇区做完整性校验。
最后,使用 swapon -a
命令激活刚才修改的 /etc/fstab
配置文件中所有设置为交换分区 swap 的设备,以启用交换分区:
swapon -a
注:
[1]. 激活交换分区不同于一般的磁盘挂载操作,因此,这里使用的命令是
swapon -a
, 而不是mount -a
.
再次使用 free -m
命令可以看到,系统中交换分区的大小相比于未配置前,已经增加了 756MB
, 如图 03: