- A+
有人问我关于swap的问题,说实话我也不懂,然后经过google 百度查询了一下,大致有一些结论,如有误欢迎大家留言指出!我们玩VPS的时候一般会看见几个有关swap的词儿:swap、burst 、vswap,这里说说他们与内存和硬盘之间的关系。
swap:(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。这玩意儿是纯粹的硬盘,当开始使用swap的时候硬盘的I/O肯定已经受到了影响!swap在基于XEN和KVM的VPS我们常见,可以手动自己更改大小,如果是SSD硬盘的话效果会高不少。
burst:全称是burst ram,这货是货真价实的内存,运行效率就是内存的性能。一般情况下是母鸡预留出来的内存,在保障内存不够的情况下可以让你短期占用,也就是说只有在母鸡内存还有富余的时候你才能用得上。
vswap:OpenVZ可以将一部分内存模拟成硬盘中的一块交换区(swap),这就是vSWAP,即虚拟的内存交换区。为了达到模拟硬盘内存交换区的目的,这块内存区域的读写速度将会变慢以匹配硬盘的读写速度。虽然内存和虚拟内存交换区之间的读写并不是真正的硬盘I/O,但用到这部分内存的程序仍然会相对地变慢。一旦服务器内存不足的时候就没有足够的内存来模拟swap,这时候就不存在vswap而只有硬盘的swap了。
简单的说如果商家超售的话内存不足,那么burst ram和vswap就没有太多的意义了,没有多的内存就没有burst ram和vswap,这时候还不如swap,因为swap还能撑一下!
顺带说下XEN和KVM下增加swap大小:
openvz下增加swap可以在数字上面做到,效果上面没有任何改变,只是自欺欺人而已,XEN和KVM下如果增加的swap空间是SSD的话那么效果就更加好了!
1.进入目录
cd /var/
2.获取要增加的SWAP文件块(这里以1GB为例)
dd if=/dev/zero of=swapfile bs=1024 count=1038336
3.创建SWAP文件
/sbin/mkswap swapfile
4.激活SWAP文件
/sbin/swapon swapfile
5.查看SWAP信息是否正确
/sbin/swapon –s
6.添加到fstab文件中让系统引导时自动启动
echo "/var/swapfile swap swap defaults 0 0" >>/etc/fstab