独立分区作为交换空间使用.同时linux允许使用多个交换分区或者交换文件.
拥有帝国一切,皆有可能。欢迎访问phome.net
1.创建swap交换空间
创建交换空间所需的交换文件是一个普通的文件,但是,创建交换文件与创建普通文件不同,通过dd命令来完成,同时这个文件位于本地硬盘上,不能在网络文件系统(NFS)上创建swap交换文件.例如:
[root@localhost ~]# dd if=/dev/zero of=/data/swapfile bs=1024 count=65536
65536 0 records in
65536 0 records out
这样就创建一个有连续空间的交换文件,大小为60M左右,关于dd命令做简单的讲述:
if=输入文件,或者设备名称.
of=输出文件或者设备名称.
ibs=bytes 表示一次读入bytes 个字节(即一个块大小为 bytes 个字节).
obs=bytes 表示一次写bytes 个字节(即一个块大小为 bytes 个字节).
bs=bytes,同时设置读写块的大小,以bytes为单位,此参数可代替 ibs 和 obs.
count=blocks 仅拷贝blocks个块.
skip=blocks 表示从输入文件开头跳过 blocks 个块后再开始复制.
seek=blocks表示从输出文件开头跳过 blocks 个块后再开始复制.(通常只有当输出文件是磁盘或磁带时才有效)
这里的输入设备/dev/zero代表一个输出永远为0的设备文件,使用它作输入可以得到全为空的文件.
2.激活和使用swap
通过mkswap命令指定作为交换空间的设备或者文件:
[root@localhost ~]#mkswap /data/swapfile
Setting up swapspace version 1, size = 67104 kB
[root@localhost backup]# free
total used free shared buffers cached
Mem: 2066632 1998188 68444 0 26160 1588044
-/ buffers/cache: 383984 1682648
Swap: 4088500 101036 3987464
从上面输出可知,我们指定了一个67104 kB的交换空间,而此时新建的交换空间还未被使用,下面简单介绍下mkswap命令,mkswap的一般使用格式为:
拥有帝国一切,皆有可能。欢迎访问phome.net
mkswap [参数] [设备名称或文件][交换区大小]
参数:
-c:建立交换区前,先检查是否有损坏的区块.
-v0:建立旧式交换区,此为预设值.
-v1:建立新式交换区.
交换区大小:指定交换区的大小,单位为1024字节.
设置交换分区后,接着通过swapon命令激活swap:
[root@localhost ~]#/usr/sbin/swapon /data/swapfile
[root@localhost backup]# free
total used free shared buffers cached
Mem: 2066632 1997668 68964 0 27404 1588880
-/ buffers/cache: 381384 1685248
Swap: 4154028 100976 4053052
通过free命令可以看出,swap大小已经由4088500k变为4154028k,相差的值是60M左右,刚好等于我们增加的一个交换文件大小,这说明新增的交换分区已经可以使用了,但是如果linux重启,那么新增的swap空间将变得不可用,因此需要在/etc/fstab中添加自动加载设置:
/data/swapfile none swap sw 0 0
如此以来,linux在重启后就可以实现自动加载swap分区了.其实linux在启动过程中会执行“swapon -a”命令,此命令会加载列在/etc/fstab中的所有交换空间.
3.移除swap
通过swapoff即可移除一个交换空间
[root@localhost ~]#/usr/sbin/swapoff /data/swapfile
其实也可以通过“swapoff -a”移除在/etc/fstab中定义的所有交换空间,这里的“swapoff -a”与上面提到的“swapon -a”对应.执行“swapoff -a”后,free命令输出如下:
[root@localhost backup]# free
total used f |