English |
  • 美国VPS主机推荐
  • |
  • 代购服务
  • |
  • 10美元以下VPS
  • |
  • VPS新手指南/教程
  • |
  • 留言板
  • |
  • 关于
  • | 登录 |

    VPS优化之Linux添加swap交换分区(虚拟内存)

    2009年04月19日 下午 | 作者:VPS侦探

    相信很多使用VPS的朋友和我一样,没有太多的米买更多的内存来进行升级,通常使用swap交换分区来缓解系统资源紧张的压力,间接给VPS提高一下性能。

    下面说一下VPS添加swap交换分区的方法(只有虚拟化为Xen、KVM、VMWare的VPS可以,OpenVZ不支持添加swap)。

    1、确认是否有SWAP,可以执行free -m 命令查看,如果有swap一行且total项下不为零的话就是存在swap,就不适合再进行添加swap。

    2、以下以添加2GB SWAP为例,生成文件块:(SWAP一般设置为内存的2倍,并非完全以此为标准,只适合4GB以下内存,count后面的数为要设置的swap大小xxMB)

    dd if=/dev/zero of=/var/swapfile bs=1M count=2048

    3、创建swap文件

    /sbin/mkswap /var/swapfile

    4、激活swap文件

    /sbin/swapon /var/swapfile

    5、查看一下swap是否正确:

    /sbin/swapon -s

    另外为了安全建议执行:

    chmod 0600 /var/swapfile

    改一下权限
    6、到fstab文件中添加开机自动挂载设置

    vi /etc/fstab

    在末尾增加以下内容:

    /var/swapfile swap swap defaults 0 0
    也可以执行如下命令,感觉这样更方便
    echo "/var/swapfile swap swap defaults 0 0" >>/etc/fstab

    SWAP删除方法:

    /sbin/swapoff /var/swapfile
    rm -f /var/swapfile

    删掉添加的自动挂载swap的设置

    vi /etc/fstab

    顺便附上DD命令的参数介绍:

    dd命令
    功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。
    语法:dd [选项] if =输入文件(或设备名称)。

    of =输出文件(或设备名称)。

    ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。

    skip = blocks 跳过读入缓冲区开头的ibs*blocks块。

    obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。

    bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。

    cbs = byte 一次转换bytes字节。

    count=blocks 只拷贝输入的blocks块。

    >>转载请注明出处:VPS侦探 本文链接地址:https://www.vpser.net/opt/vps-add-swap.html
    VPS侦探推荐:
    遨游主机VultrLinode搬瓦工LOCVPSKVMLAHOSTKVMHostXen80VPS美国VPS主机,国内推荐腾讯云阿里云

    发表评论

    *必填

    *必填 (不会被公开)

    评论(16条评论)

    1. 黑风说道:

      hostmybytes KVM添加成功,512M内存没有SWAP,使用90%,觉得方自己添加了,但是重启之后SWAP没有被使用,就是当作保险措施就行了的意思吗?

    2. VPSer说道:

      @落雪长风, openvz的不能添加swap

    3. 落雪长风说道:

      好像buyvm的15刀的不能添加swap,,,好无奈。

    4. VPSer说道:

      @qloog, 可以,他们的默认好像是有swap的

    5. qloog说道:

      请问 DiaHosting 的VPS 可以设置swap 吗?

    6. VPSer说道:

      @kivin, 如果你的是openvz的话是无法添加的,如果是xen的话可能是服务商限制了。咨询一下你的vps服务商。

    7. kivin说道:

      到第四步激活swap文件时出现“Operation not permitted” 请问怎么解决啊?

    8. 小峰JoysBoy说道:

      非常感谢你们耐心的答复 😛 😛

    9. VPSer说道:

      @小峰JoysBoy, 未被使用那也是存在的,只不过没用到,应该物理内存已经很够用了。

    10. 小峰JoysBoy说道:

      那就是说不用我手动配置了吗?可为什么用监控宝来看,swap从未被使用过,求解

    11. VPSer说道:

      @小峰JoysBoy, dia的已经有swap了。

    12. 小峰JoysBoy说道:

      diavps的swap需要这样设置吗,snmp检测swap一直为使用过

    13. VPSer说道:

      Linode 就不用设置这一步了,Linode在VPS的时候都是可以自己设置的,他们控制面板都可以进行调整。

    14. Sivan说道:

      Linode装完centos控制面板显示了一个256M的swap,是不是不用做这一步了?

    15. 祥哥哥说道:

      这个很早就在网上看到了。 而且不是全部都能加的。

    16. WindyWinter说道:

      注意有些服务商是不允许随意添加交换文件的。