买了个云主机,只有1G内存,跑爬虫经常内存不足,于是只能添加swap来缓解;
1、官方推荐的swap大小定义
2、使用dd命令在根下创建swapfile
dd if=/dev/zero of=/swapfile bs=1M count=2048 ## if 表示infile,一般不做修改; of表示outfile,设置为想要创建文件的全路径; bs=1M表示增加的块大小为1M,不加单位默认为bytes,也可以手动指定单位为M或者G;count=2048代表2048个模块,也就是1M*2048=2G空间。 ##
3、设置swapfile为swap文件
mkswap /swapfile
4、权限设置为0600,并启用swap文件
chmod 0600 /swapfile swapon /swapfile
5、添加fstab文件
vim /etc/fstab
/swapfile swap swap defaults 0 0
6、查看swap是否生效
7、更改swap配置
swappiness值的范围为0-100,值越高代表对swap依赖程度越高,但是swap是基于文件储存的缓存交换机制,所以效率明显低于物理内存,swappiness值过高的情况下容易导致物理内存远远没有耗尽便开始使用swap;一般来说swappiness值可以设置为10-60,ssd可以设置的高一点;
7.1、查看依赖度
[root@master /]# cat /proc/sys/vm/swappiness 30
7.2、临时修改swappiness的值
重启后会失效
[root@master /]# sysctl vm.swappiness=40 vm.swappiness = 40 [root@master /]# cat /proc/sys/vm/swappiness 40
7.3、永久生效
echo "vm.swappiness = 40" >> /etc/sysctl.conf
8、去掉swap空间
swapoff /swapfile # 停用swap空间 rm -rf /swapfile # 删除swapfile文件
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/270040.html