CentOS7下swap分区的添加/删除/配置

CentOS7下swap分区的添加/删除/配置

swap分区除了在安装系统的时候可以创建,在安装系统后还可以在系统里添加,比如VPS不够内存,想暂时增加就可以用这种办法。

添加前:

root > free -h
              total        used        free      shared  buff/cache   available
Mem:           482M        248M         12M         25M        221M        172M
Swap:          511M        150M        361M

添加后:

root > free -h
              total        used        free      shared  buff/cache   available
Mem:           482M        251M         14M         42M        217M        151M
Swap:          1.5G        242M        1.2G

添加swap分区

注意,这里说的添加swap分区,是在原有交换分区不够的情况下,自己再添加,而不是修改原有的,因为对于VPS来说,你在VPS里面是无法动原来的磁盘分区的。

1、创建交换文件

dd  if=/dev/zero  of=/var/swapfile  bs=1024  count=2048k
dd  if=/dev/zero  of=/var/swapfile  bs=1M  count=2048

dd: disk dump,dump查单词可能有“倾倒”的意思,这里“disk dump”的意思是“磁盘转储”;
if: input file,输入文件,其中/dev/zero是Linux的一种特殊字符设备(输入设备),可以用来创建一个指定长度用于初始化的空文件,如临时交换文件,该设备无穷尽地提供0,可以提供任何你需要的数目;
of: output file,输出文件;
bs: block size,单位数据块大小(同时读入/输出的块字节大小),可以用K/M这些单位(或KB,MB,但一定要大写,小写会报错),不使用单位则默认单位是“字节(Byte)”,很多人把它设置为1MB;
count: 数据块的数量,也可以用单位,创建的交换文件空间大小=bs×count,也就是你每块多大×一共多少块。所以本例创建的交换文件空间大小为:1024(即1k)×2048k(即2048×1024)=1024×2097152=2,147,483,648=2G,1Mx2048也是等于2G。

2、格式化交换文件

mkswap  /var/swapfile

3、挂载新交换分区

swapon   /var/swapfile

执行swapon命令后后可能会提示:不安全的权限 0644,建议使用 0600”类似提示,其实已经激活了,你可以用free -hswapon -s查看,现在的swap分区大小,其实已经等于原分区加上你现在创建的分区大小了。

至于权限提示,你可以忽略,也可以听从系统的建议修改下权限(当然我一般都会修改):

chmod -R 0600 /var/swapfile

4、设置开机自动挂载分区

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

5、配置交换分区

我们可以通过修改swappiness值(0-100)来决定系统对swap分区的依赖程度,越高则越倾向于使用swap分区。

越依赖swap会造成物理内存远未使用完,就使用swap分区,我们知道swap分区性能远不如物理内存(毕竟是硬盘虚拟出来的),这反而降低了系统性能,当然如果是固态硬盘,可以适当增加对swap的依赖程度,毕竟固态硬盘的速度比普通的HDD快的多了。

如果希望在物理内存即将满荷时再使用swap,swappiness值一般为10-60为宜,固态硬盘可以偏高些。

查看当前的swappiness数值:

cat   /proc/sys/vm/swappiness

设置swappiness值,这里以50为例:

sysctl vm.swappiness=50

按照Linux的国际惯例,要让配置永久生效,必定要把配置写到配置文件中,这里我用echo直接添加到/etc/sysctl.conf文件的最后,你想用vi/vim编辑再添加也是一样的:

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

删除swap分区

1、停止正在使用swap分区

swapoff  /var/swapfile

2、删除swap分区文件

rm -rf   /var/swapfile

3、去掉启动自动挂载

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

/var/swapfile   swap  swap  defaults  0  0
打赏
订阅评论
提醒
guest

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x

扫码在手机查看
iPhone请用自带相机扫
安卓用UC/QQ浏览器扫

CentOS7下swap分区的添加/删除/配置