Linux服务器怎样增加swap交换区?

作者: meilin
位于: 数码电子

有时候,需要在安装Linux系统后额外增加swap空间(或交换区)。有两种选择:添加swap分区或swap文件。尽管建议你增加swap分区,但如果没有可用空间,这样做很困难。

要增加一个swap分区(假设要添加的是/dev/hdb2):

1、硬盘不能在使用状态中(分区不能挂载,并且swap空间也不能使用)。由于内核不能正确识别变化,分区表不能被修正。在分区表和分区安装不匹配的情况下,数据会因为写错分区而重写。最简单的解决办法是以拯救模式启动系统。

2、用parted命令创建swap分区:

  • 以root登陆,输入命令parted /dev/hdb,这里的/dev/hdb是硬盘可用空间的设备名称。
  • 在(parted)提示下输入print查看现有分区和可用空间数量。start和end值是兆字节。决定硬盘上有多少可用空间,以及想要分配的新swap分区多少。
  • 在(parted)提示下输入mkpartfs part-type linux-swap start end,这里的part-type是主要,扩展或逻辑,start是分区的开始点,end是分区的结束点。
  • 最后输入quit退出分区。

提醒:改变会马上发生,因此应谨慎输入命令。

现在已创建好swap分区,可以用mkswap命令设置swap分区。以root身份输入:

mkswap /dev/hdb2

要让swap分区马上可用,输入下面命令:

swapon /dev/hdb2

要使之在启动时可用,编辑/etc/fstab,将下面代码包含在内:

/dev/hdb2 swap swap defaults 0 0

在系统下次启动时,新swap分区就会可用。

在增加新swp分区并可用后,可以用cat /proc/swapsfree命令查看结果。

添加swap文件的做法:

首先确定swap文件的兆字节大小。例如,64MB大小的swap文件是65536。以root身份输入下面命令:

dd if=/dev/zero of=/swapfile bs=1024 count=65536

用下面命令启动swap文件:

mkswap /swapfile

让swap文件马上生效:

swapon /swapfile

如果要让它在启动时可用,编辑/etc/fstab并包含以下代码:

/swapfile     swap     swap      defaults    0   0

在系统下一次启动时,就能让新swap文件可用。

在增加新的swap文件并可用后,输入cat /proc/swaps或free命令查看结果。