【学了就忘Linux文件系统管理】— 11.手工分配swap分区

1、查看swap分区情况

swap分区就相当于是内存的一个缓冲区,如果内存被占满,可以用swap分区代替内存使用,用来提升系统性能。

如果在实际的服务器上,分配的swap分区不够用了,需要扩大swap分区,我们是可以不重新安装操作系统的,那样很麻烦。swap分区是支持手动扩展的。

一般通过free命令来查看内存的使用情况。

上图中,前两行是内存的使用情况。

  • total :总内存数。
  • used :使用的内存。
  • free :空闲内容。
  • buffers :缓冲。加速硬盘的写入速度。
  • cached :缓存。加速硬盘的读取速度。

swap分区内核直接调用,用户是干预不了的。但是系统会按照系统的实际需求,自动分配bufferscached的大小。

说明:

  • buffers缓冲,指的是当我们把内存中的数据存入硬盘的时候,内核可以把分散的写集中起来,统一优化磁盘的写入,比如可以把多次小的写合并成单次大的写等等。
  • cached缓存,指的是从磁盘读取文件的时候,用来存储一些从硬盘读取的数据。这样,下次访问这些文件数据时,就可以直接从内存中快速获取,而不需要再次访问缓慢的硬盘。

说明:-/+ buffers/cache:125M 862M的意思


如上图,used的内存使用是192MB,这192MB包括bufferscached的空间和实际使用的内存空间,出去bufferscached的空间,就是125MB左右的真实内存占用空间。而free列则是空闲内存为795MB,实际的空闲内存为795MB加上bufferscached的空间,实际空闲内存为862MB。

2、手工修改swap分区

增加swap分区的前提,还有得有个空白的硬盘空间。(虚拟机添加新硬盘如请看【学了就忘Linux文件系统管理】— 5.fdisk命令手工分区(一))

  • 查看sdb硬盘分区情况,如下图。
  • 结果是没有任何分区,下面开始进行分区。

上图执行的是:创建一个分区(n),选择创建主分区(p),分区编号为1,从头开始划分空间,划分1GB大小的空间。

再次查看sdb分区情况,如下图。

出现了sdb1分区,但是分区的系统ID编号是83,也就是Linux系统的标准分区。而我们知道swap分区的ID号是82,所以我们需要修改sdb1分区的ID号为82。(fdisk 交互指令请看【学了就忘Linux文件系统管理】— 6.fdisk命令手工分区(二))

  • 修改分区的系统ID号。

上图的执行操作为:修改分区的系统ID(t);输入分区号,给哪个分区修改,因为我们sdb硬盘上只有一个分区,就默认选择了,如果有多个分区,需要你输入要修改的分区号;最后要把该分区的分区号改为82(swap分区的系统ID号)。

再次查看sdb分区情况。

我们可以看到sdb1的分区变成了swap分区,系统ID号为了82。

  • 最后我们就可以保存退出了。

注意最后的提示,并没有需要我们对系统进行重启。

3、格式化swap分区

我们需要把上边的sdb1分区,格式化成swap分区的文件系统,(而不是普通分区用mkfs命令格式化成ext4文件系统)。

swap分区是需要Linux系统内核直接访问的,所以swap分区的格式化命令为mkswap

执行命令[root@localhost ~] # mkswap /dev/sdb1,如下图。

4、使用swap分区

在使用swap分区之前,我们先来执行free命令看看内存的使用情况,命令如下:

发现swap分区还是和之前的大小一样。现在我们还需要通过swapon命令,把sdb1的swap分区加载进系统。

执行:[root@localhost ~ ] # swapon /dev/sdb1

再次查看swap分区的情况,变成了1.5GB。

注意:执行:[root@localhost ~ ] # swapon /dev/sdb1,是临时生效的,如果重启启动系统,还需要再次执行。如果想要永久生效,需要配置下面的自动挂载。

5、配置swap分区开机之后自动挂载

手工分配swap分区的最后一步,就是配置swap分区的自动挂载。

编辑/etc/fstab配置文件。

设备文件名  挂载点  文件系统  挂载权限选项  备份权限  检查磁盘权限
/dev/sdb1   swap    swap     defaults       0          0

注意:挂载点不要写成/swap,swap分区是单独的分区,单独的文件类型。设备文件名最好写成UUID,最后两个选项要写成00

你可能感兴趣的:(【学了就忘Linux文件系统管理】— 11.手工分配swap分区)