初始化的交换空间通过 swapon 命令投入使用。此命令告知内核可以使用该交换空间。交换空间的路径作为参数给出,因此要在临时交换文件上开始交换,可以使用以下命令。
$ swapon /extra-swap $ |
/dev/hda8 none swap sw 0 0 /swapfile none swap sw 0 0 |
您可以使用 free 命令监视交换空间的使用情况。它将告诉您已使用的交换空间总量。
$ free total used free shared buffers Mem: 15152 14896 256 12404 2528 -/+ buffers: 12368 2784 Swap: 32452 6684 25768 $ |
最后一行(交换)显示交换空间的类似信息。如果此行全部为零,则您的交换空间未激活。
相同的信息可以通过 top 命令获得,或者使用 proc 文件系统中的文件/proc/meminfo。目前很难获得有关特定交换空间使用情况的信息。
可以使用 swapoff 命令从使用中移除交换空间。通常没有必要这样做,除非是临时交换空间。交换空间中正在使用的任何页面都会首先被换入;如果物理内存不足以容纳它们,则它们将被换出(到其他交换空间)。如果没有足够的虚拟内存来容纳所有页面,Linux 将开始颠簸;过一段时间后它应该会恢复,但与此同时系统将无法使用。在从使用中移除交换空间之前,您应该检查(例如,使用 free 命令)是否有足够的可用内存。
所有通过 swapon -a 命令自动使用的交换空间都可以通过 swapoff -a 命令从使用中移除;它会查看文件/etc/fstab以查找要移除的内容。任何手动使用的交换空间将保持使用状态。
有时即使有大量可用物理内存,也可能使用大量交换空间。例如,如果某一点需要交换,但后来占用大量物理内存的大进程终止并释放内存,则可能会发生这种情况。换出的数据不会自动换入,直到需要时才会换入,因此物理内存可能会长时间保持空闲状态。无需担心这一点,但了解正在发生的事情可能会让人感到安慰。