我们一般在阿里云或者其它地方买的云服务器,是默认没有交换分区的。但是在内存不够用的时候,我们最好是设定一个交换分区以缓解这种情况。
我们可以创建一个空文件来作为交换文件,达到设置交换空间的目的。
1,创建一个空文件
我们先是要创建一个空的文件,这个文件将作为我们的交换分区文件,我们可以放在任何地方,我这里创建一个4GB的交换文件swap
放在/
下:
dd if=/dev/zero of=/swap bs=1M count=4096
用dd
命令创建空文件,of
表示生成文件位置,bs
表示分块每一块大小,count
表示块总数量,这里4096个1M那最后文件就是4GB了。
这样,我就创建了一个空文件路径是/swap
。
2,将文件制作成交换文件,并启用它
先使用mkswap
命令将空文件做成交换文件:
mkswap /swap
然后使用swapon
命令启用它:
swapon /swap
这时,你就发现已经有交换空间了!
3,配置交换空间开机自动挂载
虽然上面已经启用了交换空间,但是如果你重启服务器,它就又没了,需要手动启用。
我们需要修改/etc/fstab
文件,增加下面一行:
/swap swap swap defaults 00
第一个/swap
是我们交换文件位置,后面参数就是配置交换文件,复制粘贴即可。
4,设置系统使用交换空间的频率
我们还可以通过修改/etc/sysctl.conf
配置文件,来设置系统使用交换空间的频率。
配置其中的vm.swappiness
参数,值为0-100的数值,数值越大,使用交换分区频率越高。
例如我配置频率为30,则修改这一项最终为:
vm.swappiness=30
如果没有这一项就加上去。
最后执行命令sysctl -p
使配置生效。
使用频率建议根据实际情况修改,一般不建议太大,因为过度使用交换空间会使CPU和磁盘读写占用过高影响性能。