1、查看swap分区情况

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

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

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

如下图所示:

上图中,前两行是内存的使用情况,说明如下:

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

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

说明:

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

例如:-/+ buffers/cache:125M 862M的意思。

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

2、手动修改swap分区

增加swap分区的前提,还有得有个空白的硬盘空间。(虚拟机添加新硬盘如请看fdisk命令进行手动分区文章中有讲)

(1)查看sdb硬盘分区情况。

如下图所示:

(2)结果是没有任何分区,下面开始进行分区。

如下图所示:

上图执行的是:

  • 创建一个分区(n)。
  • 选择创建主分区(p)。
  • 分区编号为1。
  • 从头开始划分空间。
  • 划分1GB大小的空间。

再次查看sdb分区情况,如下图所示:

此时出现了sdb1分区,但是分区的系统ID编号是83,也就是Linux系统的标准分区。而我们知道swap分区的ID号是82,所以我们需要修改sdb1分区的ID号为82。(fdisk交互指令请看fdisk命令进行手工分区文章中有讲)

(3)修改分区的系统ID号。

如下图所示:

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

再次查看sdb分区情况,如下图所示:

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

(4)最后我们就可以保存退出了。

如下图所示:

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

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文件系统管理 — 62、手动分配swap分区的更多相关文章

  1. 『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍

    目录 1.LVM逻辑卷管理的简介 2.LVM逻辑卷管理的原理 3.总结建立LVM分区的步骤 1.LVM逻辑卷管理的简介 LVM是Logical Volume Manager的简称,中文就是逻辑卷管理. ...

  2. 『学了就忘』Linux文件系统管理 — 57、Linux文件系统介绍

    目录 1.了解硬盘结构(了解即可) (1)硬盘的逻辑结构 (2)硬盘接口 2.Linux文件系统介绍 (1)Linux文件系统的特性 (2)Linux常见文件系统 3.整理一下对文件系统的认识 在了解 ...

  3. 『学了就忘』Linux文件系统管理 — 59、使用fdisk命令进行手工分区

    目录 1.手工分区前提 (1)要有一块新的硬盘 (2)在虚拟机中添加一块新硬盘 2.手工分区 (1)查看Linux系统所有硬盘及分区 (2)手工分区:详细步骤 (3)保存手工分区 3.硬盘格式化 4. ...

  4. 『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载

    目录 1.自动挂载 2.如何查询系统下每个分区的UUID 3.配置自动挂载 4./etc/fstab文件修复 上一篇文章我们说明了手动分区讲解,对一块新硬盘进行了手动分区和挂载. 但是我们发现重启系统 ...

  5. 『学了就忘』Linux文件系统管理 — 63、磁盘配额介绍

    目录 1.磁盘配额概念 2.磁盘配额条件 3.磁盘配额的相关概念 4.磁盘配额实践规划 1.磁盘配额概念 磁盘配额是限制用户或者用户组在一个分区上可以使用的空间大小和文件个数的限制. 扩展: 管理员可 ...

  6. 『学了就忘』Linux文件系统管理 — 66、通过图形界面进行LVM分区

    目录 1.选择自定义分区 2.分配boot分区 3.创建LVM物理卷 4.生成卷组 5.创建逻辑卷 6.格式化安装 我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区. 提 ...

  7. 『学了就忘』Linux文件系统管理 — 64、磁盘配额的配置步骤

    目录 1.手工建立一个5GB的分区 2.建立需要做限制的三个用户 3.在分区上开启磁盘配额功能 4.建立磁盘配额的配置文件 5.开始设置用户和组的配额限制 6.启动和关闭配额 7.磁盘配额的查询 8. ...

  8. 『学了就忘』Linux文件系统管理 — 58、常用硬盘管理相关命令

    目录 1.df命令 2.du命令 3.fsck文件系统修复命令 4.显示磁盘状态dumpe2fs 5.查看文件的详细时间 6.判断文件类型 1.df命令 df命令用于统计分区的占用状况. [root@ ...

  9. 『学了就忘』Linux文件系统管理 — 61、使用parted命令进行分区

    目录 1.parted命令介绍 2.parted交互模式 3.建立分区 (1)查看分区 (2)修改成GPT分区表 (3)建立分区 (4)建立文件系统(格式化) (5)调整分区大小 (6)删除分区 1. ...

随机推荐

  1. 六个好习惯让你的PCB设计更优

    PCB layout工程师每天对着板子成千上万条走线,各种各样的封装,重复着拉线的工作,也许很多人会觉得是很枯燥无聊的工作内容.看似软件操作搬运工,其实设计人员在过程中要在各种设计规则之间做取舍,兼顾 ...

  2. Linux内核漏洞精准检测如何做?SCA工具不能只在软件层面

    摘要:二进制SCA工具要想更好的辅助安全人员实现安全审计.降低漏洞检测的误报率,必须向更细颗粒度的检测维度发展,而不仅仅停留在开源软件的层面,同时对漏洞库的要求也需要向细颗粒度的精准信息提出的挑战. ...

  3. sql 多表联合查询更新

    sqlserver: update A a set a.i = b.k from B b where a.key = b.key oracle : update A a set a.i = (sele ...

  4. 20191310李烨龙作业:MySort

    作业:MySort 任务详情 1. 用man sort 查看sort的帮助文档 2. sort常用选项有哪些,都有什么功能?提交相关使用的截图 3. 如果让你编写sort,你怎么实现?写出伪代码和相关 ...

  5. centos 下安装docker

    官方文档比较累赘,简化就三步 1.安装依赖 yum -y install gcc gcc-c++ yum-utils device-mapper-persistent-data lvm2 2.添加re ...

  6. 重装系统——联想window 10

    大四了,读了四年大学,唉,混的,啥也不会,工作也找不到,真的不知道这大学四年到底干了什么.专业是计算机方向的,但居然,不敢,也不会装电脑系统,大学四年的文件都是乱放的,更那个的是,有些软件卸载不完全, ...

  7. Qt 实时显示系统时间

    前言 我们用一个label控件来实时显示系统时间,用到 QTimer 和 QDateTime 这个两个类. 正题 头文件: #ifndef MAINWINDOW_H #define MAINWINDO ...

  8. 记录一个很傻的错误(C++)

    使用的vscode写代码,导入了vector,memory,然后忘了导入string.但是代码中能够提示std::string也就让我忘了导入string.然后就莫名其妙的报错了.找了很久的错.记录下 ...

  9. 集合概述&集合之List接口

    集合与数组存储概述 集合.数组都是对多个数据进行存储操作的结构,简称Java容器.此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中) 数组存储的特点: ...

  10. 简单的SQl时间序列生成,每次时间间隔10分钟。

    create table #timeseries(Times datetime not null) go declare @firstdate datetime , @lastdate datetim ...