next up previous contents index
Next: Sharing swap spaces with Up: Memory Management Previous: Creating a swap space

使用对换空间

swapon 将一个初始化的对换空间可用。 此命令告诉核心对换空间可以用了,对换空间的路径作为参数,启动一个临时对换文件可以用如下命令:

$ swapon /extra-swap
$
对换空间如果列入/etc/fstab ,就可自动使用。
/dev/hda8 none swap sw 0 0
/swapfile none swap sw 0 0
启动手稿运行命令swapon -a, 它将启动/etc/fstab 中所列的 所有对换空间。因此swapon 命令只有在启动额外的对换空间时才使用。

可以用free 监视对换空间的使用,它将给出所有使用的对换空间。

$ free
total used free shared buffers
Mem: 15152 14896 256 12404 2528
-/+ buffers: 12368 2784
Swap: 32452 6684 25768
$
前一行输出(Mem:)显示物理内存。 Total列不显示核心使用的物理内存(通常大约1MB)。Used列显示被使用的内存总额(第二行不计缓冲)。 Free列显示全部没使用的内存。Shared列显示多个进程共享的内存总额。Buffers列显示磁盘缓存的当前大小。

后一行(Swap:)对对换空间,显示的信息类似上面。 如果这行为全0,那么没使用对换空间。

通过top ,或使用proc文件系统的/proc/meminfo  文件可以得到相同的信息。得到某个对换空间的使用信息目前还比较困难。

可用swapoff 取消对换空间,一般不必这样,除非是临时对换空间。 对换空间中的要用的页被换入(swap->RAM),如果没有足够的物理内存,就被换出(RAM->swap,到其他对换空间)。 如果没有足够的虚拟内存放进所有页面,Linux将开始震荡(thrash); 很长时间以后应该能恢复,但此时系统不可用。 取消一个对换空间前,应该检查(例如用free )是否有足够的物理内存。

swapon -a自动使用的所有对换空间可以用swapoff -a取消。 它查看文件/etc/fstab 得知要取消什么。 任何手工起用的对换空间将依然使用着。

即使有许多空闲的物理内存,有时许多对换空间也被使用着。这种情况是由于在某个时间需要对换, 但后来一个占用大量物理内存的大进程终止并释放了内存。直到被换出的数据要被使用之前它们并 不自动换入。不必顾虑这种情况,但知道为什么会发生这种情况会更安心。


next up previous contents index
Next: Sharing swap spaces with Up: Memory Management Previous: Creating a swap space

Lars Wirzenius
Sun Jun 29 13:31:22 EEST 1997