添加交换空间有两中选择:添加交换分区或者是添加交换文件。在这里我们推荐添加一个交换分区。
一、交换分区简介
Linux系统中的交换分区是当物理内存(RAM)被充满时,作为物理内存的缓存来使用。当系统需要更多的内存资源,而物理内存已经充满,内存中不活跃的页就会被移动到交换分区上。交换分区位于硬盘上,所以它的存取速度比物理内存要慢。
一般情况下,交换分区的大小应当相当于计算机内存的两倍,但不能超过2048MB(2GB)。
二、实验场景
资源配置:
主机:Virtual Server 2K5 R2
内存:
硬盘:hda
hdb
操作系统:Fedora 2
实验要求:在第二块硬盘中创建交换分区,并添加到系统中。
实验步骤:
1. 启动文件系统,删除当前的交换分区。
2. 使用fdisk创建交换分区。
3. 使用mkswap命令设置交换分区。
4. 启动(swapon)交换分区。
5. 编辑/etc/fstab文件,使交换分区在引导时启用。
三、实验过程
在实验之前我们先检查一下系统交换空间的配置情况,使用命令可以查看在硬盘上哪个分区作为交换分区使用。
Fdisk –l
得到的结果如下:
[root@zheng root]#fdisk –l
Disk /dev/had:8589 MB,858990124 bytes
16 heads,63 sectors/track,16644 cylinders
Units = culinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 203 102280+ 83 Linux
/dev/hda2 204 14564 7237944 83 Linux
/dev/hda3 14565 16644 1048320 82 Linux swap
[root@zheng root]#
其中/dev/hda3是正在使用的交换分区,为了添加新的交换分区,需要将现用的交换分区删除掉,然后再添加新的交换分区。
1. 启动文件系统,删除当前的交换分区
在Fedora 2操作系统中,可以直接使用命令删除交换分区。由我们提前知道的信息,可以做如下的操作:用命令swapoff卸载交换分区。
Swapoff /dev/hda3
2. 使用fdisk命令创建交换分区
使用fdisk命令创建一个是当前物理内存总容量2倍的交换分区,使用如下的命令:
[root@zheng root]#fdisk /dev/hdb
Command ( m for help):n //创建新的分区
Command action
E extend
P primary partition(1-4)
P //分区类型为主分区
Partition number(1-4):1
First cylinder (1-2080,default 1):
Using default value 1
Last cylinder or + size or +sizeM or +sizeK(1-2080,default 2080):
Using default value 2080
Command(m for help):t //更改分区格式
Selected partition 1
Hex code (type L to list codes):82 //Linux swap 的16进制编码为82
Command(m for help):p
Disk /dev/hab:1073 MB,1073479680 bytes
16 heads,63 sectors/track,2080 cylinders
Units = culinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 * 1 2080 1048288+ 82 Linux swap
Command(m for help):w //保存分区的信息
Command(m for help):q
通过使用fdisk命令,我们已经创建了一个交换分区格式的分区/dev/hdb1。
3. 使用mkswap命令设置交换分区
命令为:
[root@zheng root]#mkswap /dev/hdb1 //将分区格式化为交换分区格式
Setting up swapspace version 1, size = 1073442 kB
4. 启动(swapon)交换分区
[root@zheng root]#swapon /dev/hdb1 //启用交换分区
5. 编辑/etc/fstab文件,使交换分区在引导时启用
编辑后的fstab文件关于交换分区的内容为:
/deb/hdb1 swap swap defaults 0 0
这样,我们已经创建了一个新的交换分区。重新启动系统,验证交换分区添加是否正确。
在系统重新启动时会显示如下的信息:
… …
Activiting swap partition : [OK] //激活交换分区
… …
Enabling swap space : [OK] //创建交换空间
… …
当验证没有错误之后,可以删除原有的交换分区/dev/hda3。最后,我们的到的分区信息如下:
[root@zheng root]#fdisk –l
Disk /dev/had:8589 MB,858990124 bytes
16 heads,63 sectors/track,16644 cylinders
Units = culinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 203 102280+ 83 Linux
/dev/hda2 204 14564 7237944 83 Linux
Disk /dev/hab:1073 MB,1073479680 bytes
16 heads,63 sectors/track,2080 cylinders
Units = culinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 * 1 2080 1048288+ 82 Linux swap
该信息表明,交换分区添加已经成功。
说明:参考资料中关于必须使用救援模式启动在Fedora 2系统中没有要求,并且使用救援模式也不能添加交换分区,这一点与参考资料中的表述完全不同。
参考资料:1.《红帽Linux9 从入门到精通》 美 Michael Jang 著,邱仲潘 译
2.《Red Hat Linux定制指南》 © 2003 Red Hat, Inc