谷动谷力

标题: Linux系统增加交换空间的方法 [打印本页]

作者: 鸣涧    时间: 2019-5-2 10:00
标题: Linux系统增加交换空间的方法

增加交换空间有两种方法:

严格的说,在系统安装完后只有一种方法可以增加swap,那就是本文的第二种方法,
至于第一种方法应该是安装系统时设置交换区。

1、使用分区:

      在安装OS时划分出专门的交换分区,空间大小要事先规划好,启动系统时自动进行mount。
      这种方法只能在安装OS时设定,一旦设定好不容易改变,除非重装系统。

2、使用swapfile:(或者是整个空闲分区)

      新建临时swapfile或者是空闲分区,在需要的时候设定为交换空间,最多可以增加8个swapfile。
      交换空间的大小,与CPU密切相关,在i386系中,最多可以使用2GB的空间。
      在系统启动后根据需要在2G的总容量下进行增减。
      这种方法比较灵活,也比较方便,缺点是启动系统后需要手工设置。

下面是运用swapfile增加交换空间的步骤:

涉及到的命令:

free ---查看内存状态命令,可以显示memory,swap,buffer cache等的大小及使用状况;
dd ---读取,转换并输出数据命令;
mkswap ---设置交换区
swapon ---启用交换区,相当于mount
swapoff ---关闭交换区,相当于umount

步骤:

1、创建swapfile:

root权限下,创建swapfile,假设当前目录为"/",执行如下命令:

# dd  if=/dev/zero  of=swapfile  bs=1024  count=500000

则在根目录下创建了一个swapfile,名称为“swapfile”,大小为500M,也可以把文件输出到自己想要的任何目录中,
个人觉得还是直接放在根目录下比较好,一目了然,不容易误破坏,放在其他目录下则不然了;

命令中选项解释:
---of:输出的交换文件的路径及名称;
---bs:块大小,单位byte,一般为1k即1024个byte;
---count:总块数即空间总大小,单位为块即k;
---if:读取的源空闲空间,为什么是zero,不清楚,先固定这么写吧;

2、将swapfile设置为swap空间

# mkswap swapfile

3、启用交换空间,这个操作有点类似于mount操作(个人理解):

# swapon  swapfile

至此增加交换空间的操作结束了,可以使用free命令查看swap空间大小是否发生变化;

4、如果不再使用空间可以选择关闭交换空间,这个操作有点类似于umount操作(个人理解)::

#  swapoff  swapfile

使用这种方法在每次系统启动时都需要手动设置、开启swapfile,比较麻烦,解决方法:

在 /etc/rc.d/rc.local 文件的末行下追加加以下内容:(编辑这个文件当然是用vi了~)

/sbin/swapon  /swapfile

保存后退出,这样在系统启动后,swap空间就会自动加载了;

总结:在安装OS时一定要规划好swap大小,通常为内存的2倍,但是要考虑到以后增加内存的可能,所以可以考虑设的稍大一些,
      不过在我们目前普遍使用的i386 PC机上,最大也不能超过2G。







欢迎光临 谷动谷力 (http://bbs.sunsili.com/) Powered by Discuz! X3.2