『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 62、手动分配swap分区


目录

  • 1、查看swap分区情况
  • 2、手动修改swap分区
  • 3、格式化swap分区
  • 4、使用swap分区
  • 5、配置swap分区开机之后自动挂载

1、查看swap分区情况 swap分区就相当于是内存的一个缓冲区,如果内存被占满,可以用swap分区代替内存使用,用来提升Linux系统性能。
如果在实际的服务器上,分配的swap分区不够用了,需要扩大swap分区,我们是可以不重新安装操作系统的,那样很麻烦,swap分区是支持手动扩展的。
一般通过free命令来查看内存的使用情况。
如下图所示:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 62、手动分配swap分区
文章图片

上图中,前两行是内存的使用情况,说明如下:
  • total :总内存数。
  • used :使用的内存。
  • free :空闲内容。
  • buffers :缓冲。加速硬盘的写入速度。
  • cached :缓存。加速硬盘的读取速度。
swap分区内核直接调用,用户是干预不了的。但是系统会按照系统的实际需求,自动分配bufferscached的大小。
说明:
  • buffers缓冲,指的是当我们把内存中的数据存入硬盘的时候,内核可以把分散的写集中起来,统一优化磁盘的写入,比如可以把多次小的写合并成单次大的写等等。
  • cached缓存,指的是从磁盘读取文件的时候,用来存储一些从硬盘读取的数据。这样,下次访问这些文件数据时,就可以直接从内存中快速获取,而不需要再次访问缓慢的硬盘。
例如:-/+ buffers/cache:125M 862M的意思。
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 62、手动分配swap分区
文章图片

如上图,used的内存使用是192MB,这192MB包括bufferscached的空间和实际使用的内存空间,除去bufferscached的空间,就是125MB左右的真实内存占用空间。而free列则是空闲内存为795MB,实际的空闲内存为795MB加上bufferscached的空间,实际空闲内存为862MB。
2、手动修改swap分区 增加swap分区的前提,还有得有个空白的硬盘空间。(虚拟机添加新硬盘如请看fdisk命令进行手动分区文章中有讲)
(1)查看sdb硬盘分区情况。
如下图所示:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 62、手动分配swap分区
文章图片

(2)结果是没有任何分区,下面开始进行分区。
如下图所示:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 62、手动分配swap分区
文章图片

上图执行的是:
  • 创建一个分区(n)。
  • 选择创建主分区(p)。
  • 分区编号为1。
  • 从头开始划分空间。
  • 划分1GB大小的空间。
再次查看sdb分区情况,如下图所示:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 62、手动分配swap分区
文章图片

此时出现了sdb1分区,但是分区的系统ID编号是83,也就是Linux系统的标准分区。而我们知道swap分区的ID号是82,所以我们需要修改sdb1分区的ID号为82。(fdisk交互指令请看fdisk命令进行手工分区文章中有讲)
(3)修改分区的系统ID号。
如下图所示:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 62、手动分配swap分区
文章图片

上图的执行操作为:修改分区的系统ID(t);输入分区号,给哪个分区修改,因为我们sdb硬盘上只有一个分区,就默认选择了,如果有多个分区,需要你输入要修改的分区号;最后要把该分区的分区号改为82(swap分区的系统ID号)。
再次查看sdb分区情况,如下图所示:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 62、手动分配swap分区
文章图片

我们可以看到sdb1的分区变成了swap分区,系统ID号为了82。
(4)最后我们就可以保存退出了。
如下图所示:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 62、手动分配swap分区
文章图片

注意:最后的提示,并没有需要我们对系统进行重启。
3、格式化swap分区 我们需要把上边的sdb1分区,格式化成swap分区的文件系统,(而不是普通分区用mkfs命令格式化成ext4文件系统)。
swap分区是需要Linux系统内核直接访问的,所以swap分区的格式化命令为mkswap
执行命令:[root@localhost ~]# mkswap /dev/sdb1
结果如下图:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 62、手动分配swap分区
文章图片

4、使用swap分区 在使用swap分区之前,我们先来执行free命令看看内存的使用情况,命令如下:
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 62、手动分配swap分区
文章图片

发现swap分区还是和之前的大小一样。现在我们还需要通过swapon命令,把sdb1swap分区加载进系统。
执行命令:[root@localhost ~]# swapon /dev/sdb1
再次查看swap分区的情况,变成了1.5GB。
『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 62、手动分配swap分区
文章图片

注意:执行:[root@localhost ~]# swapon /dev/sdb1,是临时生效的,如果重启启动系统,还需要再次执行。如果想要永久生效,需要配置下面的自动挂载。
5、配置swap分区开机之后自动挂载 手动分配swap分区的最后一步,就是配置swap分区的自动挂载。
编辑/etc/fstab配置文件。
#设备文件名挂载点文件系统挂载权限选项备份权限检查磁盘权限 /dev/sdb1swapswapdefaults00

【『学了就忘』Linux文件系统管理|『学了就忘』Linux文件系统管理 — 62、手动分配swap分区】注意:挂载点不要写成/swapswap分区是单独的分区,单独的文件类型。设备文件名最好写成UUID,最后两个选项要写成00

    推荐阅读