Linux 支持虚拟内存,即将磁盘用作 RAM 的扩展,从而相应地增加可用内存的有效大小。内核会将当前未使用的内存块的内容写入硬盘,以便该内存可以用于其他目的。当再次需要原始内容时,它们会被读回内存。这一切对用户来说是完全透明的;在 Linux 下运行的程序只会看到更大的可用内存量,而不会注意到它们的部分内容会不时地驻留在磁盘上。当然,读取和写入硬盘比使用真实内存要慢(慢大约一千倍),因此程序运行速度不会那么快。硬盘上用作虚拟内存的部分称为交换空间。
Linux 可以使用文件系统中的普通文件或单独的分区作为交换空间。交换分区速度更快,但更改交换文件的大小更容易(无需重新分区整个硬盘,也无需从头开始安装所有内容)。当您知道需要多少交换空间时,您应该选择交换分区,但是如果您不确定,您可以先使用交换文件,使用系统一段时间,以便您可以了解您需要多少交换空间,然后在您对交换空间的大小有信心时再创建交换分区。
您还应该知道,Linux 允许同时使用多个交换分区和/或交换文件。这意味着,如果您只是偶尔需要异常大量的交换空间,您可以随时设置额外的交换文件,而不是始终保持分配全部数量。
关于操作系统术语的说明:计算机科学通常区分交换(将整个进程写入交换空间)和分页(一次只写入固定大小的部分,通常为几千字节)。分页通常更有效,这也是 Linux 所做的,但传统的 Linux 术语仍然谈论交换。