> CentOS > CentOS运维 >

阿里云建立swap的两种方法

我们都知道swap是用来做虚拟内存的。虽然swap无法代替物理内存,但不可缺少,除非物理内存足够多,多到永远用不到swap...阿里云Linux主机默认是没有划分swap分区的,这就需要我们手动添加。建立swap有两种方法——1.建立分区;2.创建交换文件。这里重点介绍如何采用数据盘建立swap分区的方法,理由?运行速度:物理内存 > swap分区 > swap文件!当然,如果你的数据盘已经装了很多内容,不方便重新规划的话,也只好使用swap文件了。

一、使用数据盘建立swap分区
    由于对远程linux进行无损分区比较难操作,所以建立swap分区最大的问题就是必须进行格式化,所以最好是在你使用之前进行分区。当然,如果你的数据盘内容不多,而系统盘也还有足够的空间存放的话,也是可以的,具体就是mv的操作了。
    首先检查下swap情况,如图,系统默认是不划分swap的。
11.JPG
    按照官方加载数据盘的操作,执行“fdisk -S 56 /dev/xvdb”命令,对数据盘进行分区,当然你的数据盘也有可能不是/dev/xvdb,具体请用fdisk -l核对后再执行相应的命令。然后依照提示进行操作,如图所示:
22.jpg
    这里的数据盘只有10G,而建立swap标准一般为物理内存的两倍,故此在分区1的结束簇上填写了147(1468的1/10,目标1G的swap),至于剩下的空间,则完全分配为数据盘了。分区信息建立好之后,必须写进分区表,最后的命令就是保存和退出,请注意操作。
33.JPG
    fdisk -l,检查下分区建立情况。嗯~不错!
44.JPG
    分好区之后还不能用,必须建立文件系统,正如win下没有格式化的盘符会被系统识别为“未知分区”。首先建立swap分区:mkswap /dev/xvdb1;然后建立数据盘:mkfs.ext3 /dev/xvdb2。这里的xvdb1和xvdb2就是之前所建立的分区,请选择对应的分区进行操作。
55.JPG
    分区建立到此完成。检查下内存使用情况:
11.JPG
    啊咧~没有东西啊!那是因为你没装载swap,使用swapon命令进行装载,这下swap就出现了~万岁!
66.JPG

    这里只是一次性装载,当你重启服务器时swap还是一样不会自动装载的,要想自动加载swap分区,就必须修改配置文件!这里的配置文件本人同样也把数据盘给添加进来了。

下面“/www”指的是挂载点,一般挂载到 “/mnt”目录

77.JPG

挂载完成后使用“mount -a”命令挂载新分区,然后用“df -h”命令查看,出现以下信息就说明挂载成功,可以开始使用新的分区了。

 


系统虽然已经可以自动加载分区了,但swap还是一样不会自动启用的,这里还必须修改/etc/rc.local文件,只要屏蔽掉“swapoff -a”这一句就ok了。

88.JPG
    重启之后,检查内存使用~OK,swap已经自动装载启用了!检查数据盘~恩,也自动装载到对应的文件夹了。
    不错~完工!
99.JPG

二、创建swap文件
    倘若你没有数据盘或数据内容较多而不方便挪动时,也只好采用这种方式了。虽然采用swap文件的方式速度是最慢的,但是有总比没有的好,这里简单介绍一下操作步骤及相关命令。
1.“dd if=/dev/zero of=/swapfile bs=1k count=2048000”:定义swap的大小以及位置,注意:bs  blocksize ,每个块大小为1k.count=2048000。则总大小为2G的文件。

2.“mkswap /swapfile”:建立swap

3.“swapon /swapfile”:启动swap

4.修改/etc/fstab使其启动时自动mount,这个操作与swap分区法一样,在/etc/fstab中增加如下语句:

/swapfile  swap  swap    defaults 0 0

5.如果重启之后swap没有自动启用的话,还要去修改/etc/rc.local文件。

    最后,这里再提一点,网上有一些swap的添加脚本啊,操作方法啊什么的,都是基于创建swap文件的方式进行的!而这里才是真正的使用了swap分区~ (责任编辑:IT)