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

摘要:
在添加交换分区之前,我们可以知道当前系统交换是否存在以及如何使用。1.df–hal----------------------------------------------1。添加一个交换分区并使用dd命令创建一个名为swapfile的交换文件(任何文件名或目录):它可以用于创建一个具有指定长度的空文件以进行初始化。

在添加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分区创建(添加),删除以及相关配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇怎么处理U盘无法正常弹出的情况?[Hardware] 机械硬盘和固态硬盘功耗对比下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JavaWeb:实现文件上传与下载

JavaWeb:实现文件上传与下载 文件上传前端处理   本模块使用到的前端Ajax库为Axio,其地址为GitHub官网。 关于文件上传    上传文件就是把客户端的文件发送给服务器端。   在常见情况(不包含文件上传)下,我们POST请求Content-Type是application/x-www-form-urlencoded,这意味着消息内容会经过...

自动生成Makefile的全过程详解

一、简介 Linux下的程序开发人员,一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了. 在本文中,将介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这...

Gluster的搭建和使用

Gluster的搭建和使用 序言我们为什么要去使用分布式存储,在一家大型公司或者大规模的集群中,大家可能会经常遇到一个问题,我的数据怎么存放,放在那,数据空间不够了怎么办,这些问题经常困扰着我们。 笔者是在电信的一个部门工作的,我们的环境比较复杂。环境有NAS,各种NFS,还有为了高可用搭建的HA上面跑的共享目录,每次我们遇到的一个最大的问题就是,哪哪哪的...

python 下载安装setuptools及pip应用

1、首先下载python安装程序,下载地址:https://www.python.org/download/releases/2.7.8/   如下图:     因为我的机器是32位的就选择了Windows x86 MSI Installer (2.7.8)   安装成功后 2、下载安装setuptools   具体办法:   进入页面:https://...

apk反编译与破解

前段时间项目上线,单机游戏,想着肯定是会被破解的,但没想到,分分钟就被破了,游戏数据也是相当的差,于是闲暇时,也自己研究下安卓的破解。个人观点(装一下X):所谓反编译和破解付费等都只应用于学习交流,发布出去,就有点太不尊重他人劳动成果了。 使用工具:(当然首先得配好java环境,这是废话)   apktool : 资源文件获取,可以提取出图片文件和布局文件...

Mac OS zsh: command not found: mysql解决方案

环境: chsh -s /bin/zsh vim ~/.zshrc alias mysql=/Applications/MAMP/Library/bin/mysql      Mac OS版本:10.14.2       MySQL版本:5.7.24 打开终端,命令行输入:mysql,总是返回:zsh:command not found: mysql 网上...