分类: LINUX
2005-11-14 19:11:32
有时,你会有必要在安装后添加更多的交换空间。例如,你把系统内存从64MB升级到128MB,但是你只有128MB的交换内存。如果你执行的是大量使用内存的操作或运行需要大量内存的程序,把交换区增加到256MB可能会对你有利。
你有两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区,不过,若你没有多少空闲空间可用,创建交换分区可能会不大容易。
要添加一个交换分区(假设 /dev/hdb2 是你想添加的交换分区):
硬 盘驱动器不能正在被使用(分区不能被挂载,交换分区不能被启用)。在使用硬盘时不能修改分区表的原因是,这样做使内核不能够正确识别这些改变。数据可能会 由于分区表和所挂载的分区的错配而被写入错误的分区,从而被覆盖。要达到这一目的而又不使用硬盘驱动器的最简单方法是在救援模式下引导你的系统。请参阅第11章 来获得将系统引导入救援模式的说明。当提示挂载文件系统时,选择「跳过」。
如果驱动器不包含任何被使用的分区,你还可以卸载这些分区,使用 swapoff 命令来关闭硬盘驱动器上的所有交换空间。
要使用 parted 来创建交换分区:
在 shell 提示下以根用户身份键入命令:parted /dev/hdb。这里的 /dev/hdb 是你的带有空闲空间的硬盘驱动器的设备名称。
在 (parted) 提示下,键入 print 来查看现存的分区和空闲空间的数量。起止值以MB为单位。判定硬盘驱动器上的空闲空间数量,以及你想给新建的交换分区分配的空间数量。
在 (parted) 提示下,键入 mkpartfs part-type linux-swap start end,这里的 part-type 是 primary、extended、logical 中的一个,start 是分区的起始点,end 是分区的终止点。
![]() | 警告 |
---|---|
改变会立即发生,在键入时请谨慎从事。 |
键入 quit 来退出 parted。
现在,你就可以创建交换分区了,使用 mkswap 命令来设置交换分区。在 shell 提示下以根用户身份键入以下命令:
mkswap /dev/hdb2 |
要立即启用交换分区,键入以下命令:
swapon /dev/hdb2 |
要在引导时启用,编辑 /etc/fstab 文件来包含以下行:
/dev/hdb2 swap swap defaults 0 0 |
在系统下次引导时,它就会启用新建的交换分区。
新添了交换分区并启用它之后,请查看 cat /proc/swaps 或 free 命令的输出来确保交换分区已被启用了。
要添加交换文件:
判定新交换文件的大小,将大小乘以1024来判定块的大小。例如,大小为64MB的交换文件的块大小为65536。
在 shell 提示下以根用户身份键入以下命令,其中的 count 等于想要的块大小:
dd if=/dev/zero of=/swapfile bs=1024 count=65536 |
使用以下命令来设置交换文件:
mkswap /swapfile |
要立即启用交换文件而不是在引导时自动启用,使用以下命令:
swapon /swapfile |
要在引导时启用,编辑 /etc/fstab 文件来包含以下行:
/swapfile swap swap defaults 0 0 |
系统下次引导时,它就会启用新建的交换文件。
新添了交换分区并启用它之后,请查看 cat /proc/swaps 或 free 命令的输出来确保交换分区已被启用了。