在添加swap分区之前我们可以了解下当前系统swap是否存在以及使用情况,可用:

1.  free –h 或 swapon –s

了解硬盘使用情况(一般/dev/vda1为挂载硬盘):

1.  df –hal

--------------------------------------------------

一.添加swap分区

使用dd命令创建名为swapfile 的swap交换文件(文件名和目录任意):

1.  dd  if=/dev/zero  of=/var/swapfile  bs=1024  count=2097152

   dd  if=/dev/zero  of=/var/swapfile  bs=1024  count=2048k
[root@aliyun ~]# dd  if=/dev/zero  of=/var/swapfile  bs=1024  count=2048k
记录了2097152+0 的读入
记录了2097152+0 的写出
2147483648字节(2.1 GB)已复制,31.7458 秒,67.6 MB/秒

科普:if(即输入文件,input file),of(即输出文件,output file)。dev/zero是Linux的一种特殊字符设备(输入设备),可以用来创建一个指定长度用于初始化的空文件,如临时交换文件,该设备无穷尽地提供0,可以提供任何你需要的数目。 bs=1024 :单位数据块(block)同时读入/输出的块字节大小为1024 个字节即1KB,bs(即block size)。count=2048000 :数据块(block)数量为2048000 ,即2048000个1KB。可以计算swap分区的容量为:1KB 2097152=1KB 1024(k)10242=2097152=2G。(dd命令里的单位M表示1024*1024,k表示1024)。

    回车后,会执行2g的读写操作,系统会卡一段时间,耐心等待执行结果。

执行完毕,对交换文件格式化并转换为swap分区:

1.  mkswap  /var/swapfile
[root@aliyun ~]# mkswap /var/swapfile
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=f88182d5-1155-4cf4-8cb9-5db460d9ac4e

挂载并激活分区:

1.  swapon   /var/swapfile
[root@aliyun ~]# swapon /var/swapfile
swapon: /var/swapfile:不安全的权限 0644,建议使用 0600。

执行以上命令可能会出现:“不安全的权限 0644,建议使用 0600”类似提示,不要紧张,实际上已经激活了,可以忽略提示,也可以听从系统的建议修改下权限:

1.  chmod -R 0600 /var/swapfile

这时候可以用 free –h 或 swapon –s命令查看新swap分区是否正常添加并激活使用。

修改 fstab 配置,设置开机自动挂载该分区:

1.  vim    /etc/fstab

在fstab文件末尾追加如下内容后:wq!保存即可:
/var/swapfile swap swap defaults 0 0
或直接对fstab进行echo追加:

1.  echo  "/var/swapfile   swap  swap  defaults  0  0" >>  /etc/fstab

--------------------------------------------------

二. 删除某swap分区

先停止正在使用swap分区:

1.  swapoff  /var/swapfile

删除swap分区文件

1.  rm -rf   /var/swapfile

删除或注释掉我们之前在fstab文件里追加的开机自动挂载配置内容:
/var/swapfile swap swap defaults 0 0

--------------------------------------------------

三. 更改Swap配置(进阶级)

swappiness值(0-100),系统对swap分区的依赖程度,越高则越倾向于使用swap分区。
当然,高度依赖swap会造成物理内存远未使用完,就使用swap分区,我们知道swap分区性能远不如物理内存,这反而降低了系统性能,违背了我们创建swap分区的初衷。
我们希望在物理内存即将满荷时再使用swap,这就决定了swappiness值一般为10-60为宜,固态硬盘可以偏高些。
查看当前的swappiness数值:

1.  cat   /proc/sys/vm/swappiness

修改swappiness值,这里以50为例。

1.  sysctl vm.swappiness=50

若希望vm.swappiness=50永久生效,则需要修改sysctl配置文件,直接echo追加配置内容,重启系统后即可生效:

1.  echo "vm.swappiness = 50"  >>  /etc/sysctl.conf

--------------------------------------------------

四. 增加(扩大)swap分区大小

  1. 首先我们来查看swap空间的大小
# free -m
total used free shared buffers cached
Mem: 2026 1931 95 0 15 1789
-/+ buffers/cache: 127 1899
Swap: 3074 2 3071
  1. 用dd命令创建一个2G大小的文件(102410242=2097152)

dd if=/dev/zero of=/var/swapfile1 bs=1024 count=2097152

[root@aliyun ~]# dd if=/dev/zero of=/var/swapfile1 bs=1024 count=2097152
记录了2097152+0 的读入
记录了2097152+0 的写出
2147483648字节(2.1 GB)已复制,48.2387 秒,44.5 MB/秒
  1. 将该文件创建为linux swap

mkswap /var/swapfile1

[root@aliyun ~]# mkswap /var/swapfile1
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=43c47001-58a3-43ec-8510-bc8b2ad2ff51
  1. 激活该文件

swapon /var/swapfile1

[root@aliyun ~]# swapon /var/swapfile1
swapon: /var/swapfile1:不安全的权限 0644,建议使用 0600。
  1. 至此添加swap空间成功,但此时只要系统一重启就会丢失这个swap空间,所以我们要设置一下/etc/fstab文件,
    在文件的末尾加上/var/swapfile1 swap swap defaults 0 0
  1. 查看大小 free -h
[root@aliyun ~]# free -h
total used free shared buff/cache available
Mem: 1.8G 1.1G 73M 22M 606M 496M
Swap: 4.0G 1.0G 3.0G

CentOS7下swap分区创建(添加),删除以及相关配置的更多相关文章

  1. CentOS7 下 swap 分区的创建、删除及相关配置

    一般我们在购买云服务器(例如:阿里云ECS.腾讯云服务器)的时候,选择 CentOS 7 系统之后,登录系统,发现 swap 大小为 0(即没有分配). 如果我们想在该 服务器上安装 Oracle 数 ...

  2. Centos7 增加swap分区的内存大小

    Centos7 增加swap分区的内存大小 对 swap 空间的适当大小实际上取决于您的个人偏好和您的应用程序要求.通常,等于或双倍于系统内存的量是一个很好的选择 添加swap分区使用dd命令创建/h ...

  3. dir(dict)|字典的创建-添加-删除-修改-判断存在-取值等相关操作

    dir(dict) ####字典操作:创建-添加-删除-修改-判断存在-取值 #(一)创建字典: {} .等号. zip(). [(),()] #1.创建空字典 dict0 = {} #2.等号创建 ...

  4. Centos7调整swap分区

    如何让服务器响应更快?如何避免应用出现内存不足的错误?最简单的方法就是增加交换空间.Swap是存储盘上的一块自留地,操作系统可以在这里暂存一些内存里放不下的东西. 这从某种程度上相当于增加了服务器的可 ...

  5. 03、磁盘管理+swap分区创建+磁盘配额+自动挂载

    磁盘管理 分区标识 一般用4位标识,前两位,磁盘类型,第3位,磁盘编号,第4位,分区编号 如: /dev/sda1     sd  磁盘类型    a  磁盘编号   1  分区编号 [root@s1 ...

  6. CentOS下SWAP分区建立及释放内存详解

    方法一: 一.查看系统当前的分区情况: >free -m 二.创建用于交换分区的文件: >dd if=/dev/zero of=/whatever/swap bs=block_size ( ...

  7. Linux 下 swap 分区及作用详解

    我们在安装系统的时候已经建立了 swap 分区.swap 分区是 Linux 系统的交换分区,当内存不够用的时候,我们使用 swap 分区存放内存中暂时不用的数据.也就是说,当内存不够用时,我们使用 ...

  8. Centos7 设置Swap分区

    1.使用dd命令创建一个swap交换文件 dd if=/dev/zero of=/home/swap bs=1024 count=1024000 2.制作为swap格式文件: mkswap /home ...

  9. Linux下swap分区多大才合适的问题探讨

    说明: 1.这个话题在每个Linux发行版中都各不相同,且在当下内存硬盘的时代下,再组个磁盘阵列之后速度相当. 2.我觉得硬盘大的情况下,有多大搞多大,我只要控制内存的使用率在99%时才使用swap, ...

随机推荐

  1. rimraf 跨平台删除文件

    利用npm script 来删除文件, "scripts": { "clear": "rm -rf dist" } 但存在一个问题,remo ...

  2. python练习题-day14

    一.选择题 1. python不支持的数据类型有:A. charB. intC. floatD. list ans:A 2.x = ‘foo’y = 2print(x + y) A. fooB. fo ...

  3. 2018-2019-1 20189203《linux内核原理与分析》第六周作业

    第一部分 给Menu OS增加命令 输入命令 rm -rf menu git clone http://github.com/mengning/menu.git make rootfs 查看增加的ti ...

  4. ch01 PHP开篇

    ch01 PHP开篇 1.1启蒙知识 思考:WAMP是什么?:集成开发环境 [Windows+Apache服务器+MySQL数据库+PHP编程] 1.1.1 站点 将网站所有相关素材都放到一个文件夹中 ...

  5. html5 javascript 事件练习3随机键盘

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  6. [openjudge-贪心]删数问题

    题目描述 题目描述 键盘输入一个高精度的正整数N,去掉其中任意k个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对给定的N和k,寻找一种方案使得剩下的数字组成的新数最小. 输出应包括所去掉的数 ...

  7. 如何在eclipse添加SVN菜单

    首先需要在eclipse中安装svn插件,这个网上教程很多 那么我来说下如何在将svn添加到菜单中去吧. 很简单,

  8. jQuery 筛选器2

    jQuery 筛选器2 // 由于$()只能输入字符串$('#li:eq(1)'),可通过.eq()来传入. // 获取this标签中的指定属性 $(this).eq(1) // 获取第一个元素 $( ...

  9. 自制操作系统Antz(4)——进入保护模式 (下) 实现内核并从硬盘载入

    Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址:https://www.cnblogs. ...

  10. 如何退出vim

    按ESC键 按ESC键 按ESC键 然后: 最下面出现一条能输入命令的地方 输入冒号 输入冒号 输入冒号 然后输入命令: :w 保存文件但不退出 :w file 将修改另外保存到 file 中,不退出 ...