比较尴尬了,明月才发现自己使用的阿里云ECS竟然没有开启SWAP分区,当然很多人会说阿里云ECS的硬盘I/O很差,但是有些场景还是很需要SWAP分区的,所以就查阅了一下资料,创建了一个SWAP分区,以备不时之需。

timg (2).jpg

明月的ECS云主机上挂了N个网站,所以内存一直都很紧张,目前启用SWAP分区应该是合适的,我这里总结一下参考的文章所进行的操作(需要 root 权限):

  1. 这个 bs 的单位可以用 man dd 进行查看,有详细的说明,我这里创建 1G

dd if=/dev/zero of=/mnt/swapfile bs=1MB count=1024

  1. 这里把刚才创建的文件做成swap文件

mkswap /mnt/swapfile

  1. 开启swap

swapon /mnt/swapfile

  1. 查看状态

swapon -s

  1. 查看内存状态

free -m

=========以下操作能确保 swap 更安全,且重启后有效===========

6.查看 vim /etc/rc.local 如果有 swapoff -a 修改为 swapon -a

vim /etc/rc.local

  1. 设置自动挂载

vim /etc/fstab

/mnt/swapfile swap swap defaults 0 0

8.权限设置

chown root:root /mnt/swapfile

chmod 0600 /mnt/swapfile

  1. 查看 swappiness 值。

cat /proc/sys/vm/swappiness

如果为 0 ,则将其改为 10

·sysctl vm.swappiness=10

  1. 永久设置 swappiness,如果该文件里没有,则追加 vm.swappiness = 10

vim /etc/sysctl.conf

重启,那些永久设置项就生效了。

timg (3).jpg

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

上述都是明月亲测有效的,希望可以帮到大家,网上众多类似的教程,明月不建议大家随便使用,因为SWAP如果没有设定好将会严重影响服务器的负载,这也是为什么明月都要亲测有效才会用的主要原因,这年月“转载”都不用心的人实在是太多了!

最后修改:2018 年 01 月 11 日
如果觉得我的文章对你有用,请随意赞赏