阿里云centos7服务器启用和配置swap分区

我的服务器是阿里云的服务器Centos7。CPU为1G,内存1G。平时访问速度也还可以,内存是少是少了点,但基本还是够用。今天用top看了cpu及内存使用情况,发现free的内存已经只有10多M了,发现阿里云的centos7默认居然没有swap空间。赶紧加入swap。

1、创建用于交换分区的文件

dd if=/dev/zero of=/mnt/swap bs=1M count=1024

bs=1M 表示已1M为分配单位 count=1024最大是1024M 因为我的云服务器最大内存是1024,一般建议swap交换分区是内存的1~2倍

2、设置交换分区文件

mkswap /mnt/swap

3、启用交换分区文件

swapon /mnt/swap

如果在/etc/rc.local中有swapoff -a 需要修改为swapon -a

4、设置开机时自启用swap分区

需要修改文件/etc/fstab中的swap行。

添加 /mnt/swap swap swap defaults 0 0


5、执行free -m命令查看效果

注意有时候虽然配置了swap分区但是一直没有用到swap分区,需要设置swappiness的值。

cat /proc/sys/vm/swappiness

swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。linux的基本默认设置为60

我这里设置的是20,因为物理内存比较小,如果大量使用swap空间影响IO性能。还是要充分压榨物理内存。

临时调整方式:sysctl vm.swappiness=20

要想永久调整的话,需要在/etc/sysctl.conf修改,加上:vm.swappiness = 20

增加swap分区后,并设置好swappiness的参数后,可以看到正常使用到了swap分区。

原文地址:https://www.cnblogs.com/xiejava/p/15171437.html