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 分区的实操演练,包括创建、查看、成功挂载以及最后的卸载。

相关文章
|
存储 Linux
btrfs中文件系统扩展属性xattr的实现
介绍Linux中文件系统扩展属性xattr特性的基本概念,btrfs文件系统的基本结构以及对xattr特性的实现方式。
336 1
btrfs中文件系统扩展属性xattr的实现
|
消息中间件 Prometheus 监控
Prometheus实战篇:什么是Exporter
所有可以向Prometheus提供监控样本数据的程序都可以被称为一个Exporter.而Exporter的一个实例称为target,如图下所示, Prometheus通过轮询的方式定期从这些target中获取样本数据
|
Linux
centos 快速设置 swap分区
centos 快速设置 swap分区
584 0
|
3月前
|
弹性计算 运维 安全
轻量级应用服务器和云服务器区别——阿里云轻量和ECS区别对比
阿里云轻量应用服务器与ECS云服务器对比:轻量适合个人开发者、学生搭建博客、测试环境,门槛低、操作简便、成本低;ECS适用于企业级高并发场景,功能全面、弹性强。二者在使用场景、性能、网络、镜像及运维管理等方面差异显著,用户应根据实际需求选择。
466 4
|
3月前
|
存储 弹性计算 固态存储
阿里云服务器云盘解析:ESSD AutoPL、ESSD云盘、PL-X等云盘性能与选购参考
对于初次接触阿里云服务器的用户来说,面对众多可选的云盘类型,如ESSD AutoPL、高效云盘、ESSD云盘、SSD云盘等,可能不是很清楚他们之间的区别以及如何选择。这些云盘在最大IOPS、最大吞吐量等性能指标上各有千秋,如何根据自身需求选择适合自己的云盘类型,是用户比较关心的问题。本文将为大家介绍这些云盘的区别,助您轻松找到最适合自己的阿里云云盘。
|
6月前
|
安全 物联网 API
核验身份证的一致性API的实战指南
随着网络空间安全问题日益突出,实名制成为保障安全与秩序的重要手段。探数API的身份证实名认证工具通过姓名和身份证号核验用户身份真实性,并返回扩展信息,广泛应用于各行业。本文介绍了其实现功能、调用流程及代码示例,同时解答了关于个人信息安全等常见疑问。接入该API不仅满足合规要求,更能提升用户信任,降低运营风险,共同构建安全高效的数字未来。
532 1
|
Web App开发 Shell 数据库
openEuler系统上使用BuKu书签工具
【10月更文挑战第22天】LopenEuler系统上使用BuKu书签工具
421 4
|
自然语言处理 监控 关系型数据库
MySQL模糊匹配技巧:无需ES的高效实现
在数据库应用中,模糊匹配是一个常见的需求,尤其是在不引入Elasticsearch(ES)等外部搜索引擎的情况下。MySQL作为强大的关系型数据库,提供了多种实现模糊匹配的方法。本文将分享如何在MySQL中实现模糊匹配,并提供五大步骤和十个实战案例,帮助你提升查询效率和性能。
1431 1
|
Linux Shell 开发工具
Linux tail & cat & grep 命令详解
Linux tail & cat & grep 命令详解
1087 0
|
存储 NoSQL 定位技术
如何在Redis中快速推算两地之间的距离?——Geo篇
Redis 3.2 引入Geo类型,支持地理位置数据存储和计算,如距离和范围查询。使用`GEOADD`将城市经纬度添加至`zset`中,通过`GEOPOS`获取坐标,`GEODIST`计算距离,`GEORADIUS`查找指定范围内的城市。Redis的Geo功能适用于快速的地理位置服务,如附近搜索和配送范围分析。利用`ZSET`操作可增删位置数据,简化地理空间应用开发。
383 0