Centos7 开启swap分区

举报
IT 叶新东老师 发表于 2022/01/04 00:13:03 2022/01/04
【摘要】 前言 前阵子买了阿里云的云的优惠服务器,4年只要200+,只是无奈内存太小,只有2G,所以想着开启swap的分区来代替内存使用,但是当我开启后,发现swap的使用率一直是0,如下图所示,通过查找资料发现...

前言

前阵子买了阿里云的云的优惠服务器,4年只要200+,只是无奈内存太小,只有2G,所以想着开启swap的分区来代替内存使用,但是当我开启后,发现swap的使用率一直是0,如下图所示,通过查找资料发现虽然是已经配置了swap,但是没开启swap分区;且centos默认不会开启swap分区;
在这里插入图片描述
使用的系统环境为:centos 7.9 2核2G

什么是swap分区

Swap分区在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

开整

刚刚说到centos默认不会开启swap分区,如有需要,需要自行开启

阿里当前的做法是:

  1. 不创建swap分区,由镜像决定
  2. 将vm.swappiness设定为0,vm.swappiness 值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 swap 分区,值为 100 时,表示积极地使用 swap 分区,并且把内存中的数据及时地置换到swap分区

开启swap分区

1、创建分区

新建一个专门的文件用于swap分区

dd if=/dev/zero of=/data/swap bs=1M count=2048

  
 
  • 1

注:此文件的大小是count的大小乘以bs大小,上面命令的大小是1M * 2048 = 2GB

2、转为swap分区

通过mkswap命令将上面新建出的文件做成swap分区

mkswap /data/swap

  
 
  • 1
3、设置内核参数vm.swappiness

若vm.swappiness为0则根据实际需要调整成30或者60

# 查看参数
cat /proc/sys/vm/swappiness   
sysctl -a | grep swappiness

#   设置 vm.swappiness
sysctl -w vm.swappiness=60

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
4、永久生效

注:若想永久修改,则编辑/etc/sysctl.conf文件
修改 /etc/sysctl.conf 文件中的 vm.swappiness 的值然后 使之永久生效

vim /etc/sysctl.conf

  
 
  • 1

将vm.swappiness的值改为60,表示使用60%使用swap分区

vm.swappiness=60

  
 
  • 1

保存退出,并执行以下命令使其永久生效

sysctl -p

  
 
  • 1
启用此交换分区的交换功能
# 开启某个swap分区
swapon /data/swap   
echo "/data/swap swap swap defaults    0  0" >> /etc/fstab

# 开启所有swap 分区
swapon -a

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

关闭swap分区

swapoff /data/swap   
swapoff -a >/dev/null

  
 
  • 1
  • 2

测试

配置完成后,可以看到,swap分区已经被使用了
在这里插入图片描述

文章来源: yexindong.blog.csdn.net,作者:java叶新东老师,版权归原作者所有,如需转载,请联系作者。

原文链接:yexindong.blog.csdn.net/article/details/122275237

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。