Swap 分区|学习笔记

简介: 快速学习 Swap 分区

开发者学堂课程【Linux 操作系统实战Swap 分区】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/699/detail/12294


Swap 分区


内容介绍

一、何为 Swap 分区

二、如何创建 Swap 分区

三、课程回顾


一、何为 Swap 分区

Swap 分区通常被称为交换分区,这是一块特殊的硬盘空间,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。

使用 swap 交换分区,显著的优点是,通过操作系统的调度,应用程序实际可以使用的内存空间将远远超过系统的物理内存。由于硬盘空间的价格远比 RAM 要低,因此这种方式无疑是经济实惠的,使用 Swap 分区就可以满足大部分使用情况。

当然,频繁地读写硬盘,会显著降低操作系统的运行速率,所以不建议长时间的频繁读写,这也是使用 Swap 交换分区最大的限制。

在创建 Swap 分区之前,具体使用多大的 swap 分区,取决于物理内存大小和硬盘的容量。一般来讲,swap 分区容量建议是内存的两倍(假设现在内存是8G,那么分区就建议是原来的2 倍。如果情况允许的话,也可以是三倍)


二、如何创建 Swap 分区

swap 分区可以在安装操作系统的时候创建,比如划分一个 poot,host 或是 uesr。现在购买的阿里云服务器,默认是没有 Swap 分区的,也可以在系统安装完毕后创建,这里讲进入 Linux 系统皿创建 Swap 的一般方法:

A.查看 swap 空间大小:free -m,这是一个基本操作,要在查询空间之后,才知道要创建多大的空间

B.添加一个交换文件:创建大小为512M 的交换文件;在这用到 dd 的命令,以前这个命令主要是用来创建文件的光盘影像等等。Dd 这个命令是有参数的,这个 if 是原文件,of 是目标文件,目标文件和 if 是配合使用的,创立号分区之后,要设立区块的大小,大小为1M,块数为512k,那么整个空间就是512M。

#dd if=/dev/zero of=/ swapfile1bs = 1024kcount =512

使用 mkswap 命令来设置交换文件;

#mkswap/swapfile1

启用交换分区:

#swapon/swapfile1

启动时不会自动创建 Swap 分区,就要写入/etc/fstab,以便在引导时启用:

/ swapfile1 swap  swap defaults 0 0,这个命令是比较简单的,直接敲入即可。

#cat/proc/swapsfree 命令査看是否确定交换分区已被启用,如果已经启动了就会看到相关的配置信息

C.禁用交换分区:#swapoff / swapfile1

/etc/fsab启动分区项中删除项目

实操演练:

先输入语句,free -m查询内存情况,结果如下图,可以看到内存中没有创建Swap 分区

image.png

也可以用 free -h 的命令,来查看内存信息,结果如下图:

image.png

接下来使用命令进行创建,语句为dd if=/dev/zero of=/swap bs=1024k count=512,创建成功后,

结果如下:

image.png

之后就可以使用 mkswap 交换文件,先来看一下 swap 是否创建成功,如下图,表示创建成功

image.png

之后用 mkswap 格式化,看是否可以格式化为 swap 格式,输入语句mkswap /swap,结果如下图,可以看到设置成功了,并且有一个 uuid 编码,这个是类似于网卡的编码一样,给 swap 设置一个标志好,设置成功后,启动分区。

image.png

输入语句 swapon /swap,启动之后没有报错就说明成功了,如下图所示。

image.png

之后用 free -h的命令查看是否成功,结果如下,共有512M,现在命令成功的创建了

image.png

但现在有一个问题,此时随让时创建成功的,但并没有加入到自启动中去,如果重启一下系统,那么这个分区有可能就不会存在。可以使用 reboot 命令重新启动,语句为,reboot。等待反应。

这个重启是需要时间的,先返回到服务器上,重新启动服务器,同样会输入 ip 地址和端口。如下图。

image.png

现在开始连接服务器,同样用 free -h 命令来查看是否创建成功,先输入这个命令,语句为 top,结果如下,可以得到使用的时间。Top 命令是重要的一项内容,可以得到很多信息。

image.png

再使用语句 free -h 查看,结果如下,swap 显示的是0B,说明没有自启动

image.png

所以创建一个分区后,要想自启动,就一定要创建到 etc 目录下去,让它在引导的时候可以自启动。

做法:

先选择 fstab 这个文件,语句为 vi /etc/fstab。得到结果如下,得到相关信息,uuid 的标志是唯一的。

image.png

实现自启动就要输入相关的命令来实现自启动,输入语句/swap swap swap defaults 0 0,是把 swap 这个命令加入到自启动中,之后保存,就编辑好了。这是一个很常规的命令。

设置好 swap 分区后,就要在 etc 下的 fstab 目录下放进去,就可以实现自启动。

再重新启动,观察是否可以重新启动,同样使用 reboot 命令,与上回的步骤相同,要先等待一会,从服务器上得到的IP地址。

再写一个新的客户端,端口,字号等的设置完成后,已经启动后,就要进入客户端中,在运用语句 free -h 命令,得到以下结果,之前使用的这个语 swap 的内存是0B,现在内存还存在,说明这个 swap 分区的命令是创建成功的。

image.png

实现自启动就等于是挂载成功了,除了使用 free -h命令还可以用cat /proc/swaps,得到结果,会出现 swap 的文件,表示确实挂载成功,swap 分区也创建成功。

image.png

最后也可以把分区删掉,先进入分区,就是语句为 swapoff /swap,之后再输入cat /proc/swaps语句,查看 swap 分区是否删除,得到结果如下,分区已经删除。

image.png

现在已经成功的实现 swap 的分区,挂载以及删除,swap 的命令内容就是这样。基本上使用这些命令来使用 swap 分区。


三、课程回顾

首先简述了内存的管理,讲到和内存相关的重要文件,proc 和 sys,介绍了重要的子目录和一些文件的相关信息;

之后讲解了 Linux 内存和系统性能常用监控管理的命令,例如 free、ps、top 等相关命令并进行了实操演练;

最后是讲解的 swap 分区的实操演练,包括创建、查看、成功挂载以及最后的卸载。

相关文章
|
3月前
|
算法 Linux
交换分区swap的创建与管理
交换分区swap的创建与管理
|
Linux
Linux创建swap分区(用文件作为Swap分区)
Linux创建swap分区(用文件作为Swap分区)
352 0
|
测试技术 Linux