阳光越强烈
阴影就越是深邃

VPS如何设置和修改swap交换分区大小

今天买了了一个KVM的vps,安装完WEB环境后,发现默认的SWAP只有3M,看着都觉得很蛋疼,就打算自己动手来弄个大点的swap交换区,安装Linux的时候,就能直接把swap分区设置到足够的大小,但如果已经安装好Linux了,之后又想再安装需要大交换区的软件,比如一些专业数据库等,却发现swap分区空间不够,该如何处理?

针对此种情况,有两种解决方法:一是创建新的swap分区;另一则是创建swap文件.
(这里暂时对创建swap文件做说明,以下是在centos 5.8 32测试通过)
创建swap文件
如果你的硬盘空间已经全部分配给其他分区,也没有多余的预算新添购硬盘,我们可以利用swap文件的方式增加虚拟的swap空间,不过执行性能会较实际的swap分区差.
产生swap文件
要创建swap文件,执行dd命令,新增一个1024MB的swap文件:
# dd if=/dev/zero of=/tmp/myswap bs=32k count=32768
(bs=32k指定每个扇区占用32kb,读入了32768 0个区段,输出了32768 0个区段)
注意:bs参数的目的在于指定每次读取及输入多少个bytes;由于磁盘存取的最小单位为扇区,因此设置bs也等于设置每个扇区的大小;而count的目的则在指定可以使用多少个扇区.因此,可以使用的硬盘空间就等于bs*count.以上范例为例,可以使用的硬盘空间等于32*32768=1024MB
执行上述命令后,会在/tmp目录中创建一个1024MB的myswap文件
格式华及启动swap文件
接下来执行mkswap命令,将myswap文件格式化成s文件系统,系统才能使用,切换到/tmp目录,并执行以下命令:
# mkswap  /tmp/myswap (#将文件格式化为swap文件格式)
setting up swapspace version 1 , size = 1048576 KB
# swapon /tmp/myswap (#启动swap分区)
要停止使用新创建的swap文件,只要执行 swapoff /tmp/myswap命令即可.
开机时自动启动新添加的swap分区
如果每次开机后都要执行swapon命令启动swap分区或者文件,这太麻烦了.这时可以利用文字编辑器在/etc/fstab文件加一行,好让开机时自动启动swap分区及文件:
/dec/hdb5 swap swap defaults 0 0 (开机时启动此swap分区)
/tmp/myswap swap swap defaults 0 0 (开机时启动此swap文件)
3、总结
1)、以root权限登录SSH,键入如下命令创建512M的swap文件(1024 * 512MB = 524288).
dd if=/dev/zero of=/swapfile1 bs=1024 count=524288
2)、创建Linux交换文件
mkswap /swapfile1
3)、立即激活 /swapfile1交换文件
swapon /swapfile1
4)、设置系统自激活交换文件。编辑 /etc/fstab文件,并增加如下第二行代码。
vi /etc/fstab
/swapfile1 swap swap defaults 0 0
5)、重启系统,使用free -m查看swap大小。
赞(0)