买了个云主机,只有1G内存,跑爬虫经常内存不足,于是只能添加swap来缓解;
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空间。 ##
mkswap /swapfile
chmod 0600 /swapfile swapon /swapfile
vim /etc/fstab /swapfile swap swap defaults 0 0
swappiness值的范围为0-100,值越高代表对swap依赖程度越高,但是swap是基于文件储存的缓存交换机制,所以效率明显低于物理内存,swappiness值过高的情况下容易导致物理内存远远没有耗尽便开始使用swap;一般来说swappiness值可以设置为10-60,ssd可以设置的高一点;
[root@master /]# cat /proc/sys/vm/swappiness 30
重启后会失效
[root@master /]# sysctl vm.swappiness=40 vm.swappiness = 40 [root@master /]# cat /proc/sys/vm/swappiness 40
echo "vm.swappiness = 40" >> /etc/sysctl.conf
swapoff /swapfile # 停用swap空间 rm -rf /swapfile # 删除swapfile文件