为LINUX系统添加交换分区的方法

文章转载自:http://www.cnblogs.com/tankhorse/articles/683419.html

LINUX系统添加交换分区的方法

有时,有必要在操作系统安装完成之后添加更多的交换空间。例如:把系统内存从64MB升级到128MB,但是原有的交换空间只有128MB。如果在系统中执行的是大量使用内存的操作或运行需要大量的内存的程序,把交换空间增加到256MB会更有利。

添加交换空间有两种选择:添加交换分区或者是添加交换文件。在这里我们推荐添加一个交换分区。

一、交换分区简介

Linux系统中的交换分区是当物理内存(RAM)被充满时,作为物理内存的缓存来使用。当系统需要更多的内存资源,而物理内存已经充满,内存中不活跃的页就会被移动到交换分区上。交换分区位于硬盘上,所以它的存取速度比物理内存要慢。

一般情况下,交换分区的大小应当相当于计算机内存的两倍,但不能超过2048MB2GB)。

二、实验场景

资源配置:

主机:Virtual Server 2K5 R2
内存:512M
硬盘:hda 6G, hdb 1G
操作系统: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是正在使用的交换分区,为了添加新的交换分区,需要将现用的交换分区删除掉,然后再添加新的交换分区。

  • 启动文件系统,删除当前的交换分区
    Fedora 2操作系统中,可以直接使用命令删除交换分区。由我们提前知道的信息,可以做如下的操作:用命令swapoff卸载交换分区。
swapoff /dev/hda3
  • 使用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

  • 使用mkswap命令设置交换分区

命令为:

[root@zheng root]# mkswap /dev/hdb1            #将分区格式化为交换分区格式
Setting up swapspace version 1, size = 1073442 kB      
  • 启动(swapon)交换分区
 [root@zheng root]# swapon /dev/hdb1             #启用交换分区 
  • 编辑/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定制指南》

你可能感兴趣的:(为LINUX系统添加交换分区的方法)