在Linux下管理磁盘贮存区算的上一个技巧,很多朋友在这上面常常问我,今天我就把这方面的东西汇总一下,从Linux特有的交换分区的原理开始介绍Linux下如何管理磁盘。

原理篇

1. 交换空间是什么

Linux 中的 交换空间(Swap space) 在物理内存(RAM)被充满时被使用。假如系统需要更多的内存资源,而物理内存已充满,内存中不活跃的页就会被移到交换空间去。虽然交换空间能够为带有少量内存的机器提供帮助,但是这种方法不应该被当做是对内存的取代。交换空间位于硬盘驱动器上,他比进入物理内存要慢。

交换空间能够是个专用的交换分区(推荐的方法),交换文档,或两者的组合。 交换空间的总大小应该相当于您的电脑内存的两倍和 32 MB这两个值中较大的一个,但是他不能超过 2048 MB(2 GB)。

2. 添加交换空间

有时,您会有必要在安装后添加更多的交换空间。例如,您把系统内存从 64 MB 升级到 128 MB,但是您只有 128 MB 的交换内存。假如您执行的是大量使用内存的操作或运行需要大量内存的程式,把交换区增加到 256 MB 可能会对您有利。

您有两种选择:添加一个交换分区或添加一个交换文档。推荐您添加一个交换分区,但是,若您没有多少空闲空间可用,创建交换分区可能会不大容易。

要添加一个交换分区(假设 /dev/hdb2 是您想添加的交换分区):

硬盘驱动器不能在被使用(分区不能被挂载,交换分区不能被启用)。要达到这一目的的最简单方法是在救援模式下引导您的系统。当提示挂载文档系统时,选择 「跳过」 。

假如驱动器不包含任何被使用的分区,您还能够卸载这些分区,使用 swapoff 命令来关闭硬盘驱动器上的任何交换空间。

技巧篇

使用 parted 或 fdisk 来创建交换分区。 parted 比 fdisk 使用起来更方便,因此,只有 parted 在这里会被说明。要使用 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 来判定块的大小。例如,大小的 64 MB 的交换文档的块大小为 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 命令的输出来确保交换分区已被启用了。

3. 删除交换空间

要删除交换分区:

硬盘驱动器不能在被使用(分区不能被挂载,交换分区不能被启用)。要达到这一目的的最简单方法 是在救援模式下引导您的系统。

假如驱动器不包含任何被使用的分区,您还能够卸载这些分区,使用 swapoff 命令来关闭硬盘驱动器上的任何交换空间。

在 shell 提示下以根用户身份键入以下命令来确定交换分区已被禁用(这里的 /dev/hdb2 是交换分区):

  swapoff /dev/hdb2

从 /etc/fstab 文档中删除这个项目。

使用 parted 或 fdisk 来删除分区。只有 parted 在这里会被说明。要使用 parted 来删除分区:

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!