在linux设置swap空间的方式大家接触最多的应该算是安装linux时直接选择建立的swap空间了,这个在安装向导时是直接设置的。但是当我们使用上云主机时,系统都是预先安装设置好的,我们怎么创建swap呢?对于云主机提供商来说,都不建议大家设置swap空间,我们只要不是临时需要,一般也不建议设置swap空间,毕竟云主机的内存相对还是便宜的。可是有时编译一些软件,比如1g的云主机要是编译mysql,这个时候就必须设置swap空间了,否则编译会报错的。
云主机设置swap空间有2种方式,一种是在新买的数据盘上直接划分一个分区,另一种是直接建立swap交换文件,其实我们的业务都在数据盘上,如果性能压力上来时也在数据盘上,而系统盘相对压力较小,而且考虑到阿里云最近一下子就把系统盘扩大到40g了,这么大的系统盘我们不能浪费呀,所以个人觉得这种临时使用的swap分区还是使用swap文件的方式更好(这样压力进行了分配,而且如果性能不够时还是加大内存更实用!)
一、使用swap文件的方式:
创建分区文件,大小 2G
dd if=/dev/zero of=/swapfile bs=1k count=2048000生成 swap 文件系统
mkswap /swapfile激活 swap 文件
swapon /swapfile修改 /etc/fstab 文件,新增如下内容:
/swapfile swap swap defaults 0 0使其生效
mount -a二、使用数据盘建立分区方式
建立分区的过程还是使用fdisk建立所需的分区,
注意文章中只建立了一个分区,其实建立两个分区的过程是一样的,就不再重复了,举一反三吧。建立完成后,正常的数据分区按照文章的提示直接mount即可。swap分区的挂载过程在这里列出来,方便大家操作。
假定我们建立的swap分区的路径是/dev/xcdb1,首先
mkswap /dev/xvdb1
swapon /dev/xvdb1修改 /etc/fstab 文件,新增如下内容:
/dev/xvdb1 swap swap defaults 0 0使其生效
mount -a其实两种方法也就是分区和建立文件时有所区别,后边的挂载和生效是一致的。