1、查看swap分区情况

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

如果在实际的服务器上,分配的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分区的前提,还有得有个空白的硬盘空间。(虚拟机添加新硬盘如请看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命令,把sdb1swap分区加载进系统。

执行命令:[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

注意:挂载点不要写成/swapswap分区是单独的分区,单独的文件类型。设备文件名最好写成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. Matlab+Qt开发笔记(一):matlab搭建Qt开发matlib环境以及Demo测试

    前言   做一些数据处理软件,使用matlab文件,.mat文件.   准备条件   安装matlab2016,发现是vs 12(是vs2011版本),Qt5.9.3是支持vs 14(是vs2015版 ...

  2. linux tr

    转载:tr命令_Linux tr 命令用法详解:将字符进行替换压缩和删除 (linuxde.net) tr命令 文件过滤分割与合并 tr命令可以对来自标准输入的字符进行替换.压缩和删除.它可以将一组字 ...

  3. Python 检查当前运行的python版本 python2 python3

    检查当前运行的python版本,可以帮助程序选择运行python2还是python3的代码 import sys if sys.version > '3': PY3 = True else: P ...

  4. Luogu P1654 OSU! | 期望

    题目链接 很妙的一道题. 题目要求$X^3$的期望值. 直接求不好求. 考虑先求出$X$和$X^2$的期望值,然后再求$X^3$的期望值. 迎.刃.而.解. #include<iostream& ...

  5. hdu 4786 Fibonacci Tree (最小、最大生成树)

    题意: N个点,M条边.每条边连接两个点u,v,且有一个权值c,c非零即一. 问能否将N个点形成一个生成树,并且这棵树的边权值和是一个fibonacii数. (fibonacii数=1,2,3,5,8 ...

  6. git远程仓库、提交代码操作

    初始化仓库 1.初始化 git init #或 git clone 远程仓库地址 git init 后续要添加远程仓库,git clone不需要再添加 2.连接仓库 git remote add 远程 ...

  7. 关于React采坑(憨批)系列---类组件(class MyCom extends React.Component--VM47:9 Uncaught TypeError: Super expression must either be null or a function, not undefined)

    今天在学习React中的类组件时,突然给我报错VM47:9 Uncaught TypeError: Super expression must either be null or a function ...

  8. 解决一个C#中定时任务被阻塞问题

    解决一个C#中定时任务被阻塞问题 目录 解决一个C#中定时任务被阻塞问题 1.摘要 2.C#中定时任务的最简方法 3.定时任务阻塞现象 4.阻塞现象原因分析 5.问题解决 1.摘要 本文会介绍一个C# ...

  9. Fastjson妙用之@JSONField注解

    在开发的过程中使用json格式的地方非常多,现在前后端分离的项目中,前后端数据交换的格式一般为json,这种格式的优/缺点这里不再赘述,感兴趣的可以百度.把java中的实体类序列化为json的方式也有 ...

  10. List<Object>

    ... package str; import java.util.ArrayList; import java.util.List; public class arrayText { public ...