4.4 交换空间
4.4 交换空间
4.4.1 交换空间是什么
交换空间(Swap Space)作为物理内存的后援存储,当系统的物理内存不够用的时,会将物理内存中最近较少被访问的非关键页面交换到交换空间中去,从而释放出一部分物理内存空间,以供当前运行的程序使用。待需要访问被交换出去的页面时,再从交换空间中换入相应的数据到物理内存中。
虽然交换空间可以为带有少量内存的机器提供帮助,但是这种方法不应该被当做是对内存的取代。交换空间位于硬盘驱动器上,其访问效率比物理内存要低很多。 交换空间可以是一个专用的交换分区(推荐的方法),也可以是一个交换文件,或是两者的结合。
4.4.2 添加交换空间
添加交换空间有两种方法:添加交换分区或添加交换文件。
4.4.2.1 添加交换分区
请参照 4.3 节进行分区,但需将分区的文件类型改为 82(即 SWAP 格式)。
使用 mkswap 命令来设置交换分区。在 Shell 提示下以根用户身份键入以下命令(假设 swap 分区是/dev/sdb2):
#mkswap /dev/sdb2
要立即启用交换分区,键入以下命令:
#swapon /dev/sdb2
要在引导时启用,编辑/etc/fstab 文件来包含以下行:
/dev/sdb2 swap swap defaults 0 0
在系统下次引导时,它就会启用新建的交换分区。
新添了交换分区并启用它之后,请查看 cat /proc/swaps 或 free 命令的输出来确保交换分区已被启用了。
4.4.2.2 添加交换文件
请参照以下方法:
在 Shell 提示下以根用户身份键入以下命令,其中的 count 为需要的交换文件大小(单位为 KB):
#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 命令的输出来确保交换分区已被启用了。
4.4.3 删除交换空间
要删除交换分区:
1、硬盘驱动器不能再被使用(分区不能被挂载,交换分区不能被启用)。如果确认驱动器不包含任何被使用的分区,可以直接卸载(umount)这些分区,使用 swapoff 命令来关闭硬盘驱动器上的所有交换空间(以/dev/sdb2 为例):
#swapoff /dev/sdb2
2、从/etc/fstab 中删除交换分区相关的条目。
3、删除分区(以 parted 工具为例):
在 Shell 提示下以根用户身份键入命令:parted /dev/sdb。这里的 /dev/sdb 是您要删除其中的交换空间的硬盘驱动器的设备名称。
在(parted)提示下,键入 print 来查看现存的分区并判定您想删除的交换分区的次要号码。
在(parted)提示下,键入 rm MINOR,这里的 MINOR 是您想删除的分区的次要号码。
♣ 警告:改变会立即发生,您必须键入正确的次要号码。
键入 quit 来退出 parted。
要删除交换文件:
(1)在 Shell 提示下以 root 身份执行以下命令来禁用交换文件(这里的/swapfile 是交换文件):
#swapoff /swapfile
(2)从/etc/fstab 中删除该项目。
(3)删除实际文件:
#rm /swapfile
4.4.4 移动交换空间
要把交换空间从某处移到另一处,请首先遵循删除交换空间的说明,再遵循添加交换空间的说明。