当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。这个是SWAP 交换分区的作用。 实际上,我们更关注的应该是SWAP分区的大小问题。 设置多大才是最优的。
一般来说可以按照如下规则设置swap大小:
- 4G以内的物理内存,SWAP 设置为内存的2倍。
- 4-8G的物理内存,SWAP 等于内存大小。
- 8-64G 的物理内存,SWAP 设置为8G。
- 64-256G物理内存,SWAP 设置为16G。
实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置SWAP的值。
实际上在启动腾讯云的时候,swap是禁用的(没注意是系统原因还是其他)。所以就需要打开Swap,DO的网站上就有现成的教程:https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04,可以参考 一下
我这里不转贴。不过原文里有几个命令可能运行不了,比如使用:dd if=/dev/zero of=/swapfile bs=1G count=4,1G一个块可能不行,换成256的话,就OK了。原文中的:fallocate,debian可能无法执行。
然后一步步的执行到底就OK了。当然,要将分区信息加到fstab中,才会每次启动都会带上。