Linux系统交换空间介绍

2019-10-09 15:37:44王冬梅

交换空间是当今计算的一个共同方面,不管操作系统如何。Linux使用交换空间来增加主机可用的虚拟内存量。它可以在常规文件系统或逻辑卷上使用一个或多个专用交换分区或交换文件。

在一台典型的计算机中有两种基本的内存类型。第一种类型,随机存取存储器(RAM),用于存储数据和程序,而这些数据和程序正在由计算机积极使用。除非程序和数据存储在RAM中,否则计算机无法使用它们。RAM是易失性内存;也就是说,如果关闭计算机,存储在RAM中的数据就会丢失。
硬盘是用于长期存储数据和程序的磁性介质.磁性介质是非易失性的;存储在磁盘上的数据即使从计算机中移除电源也保持不变。CPU(中央处理单元)不能直接访问硬盘上的程序和数据;必须首先将其复制到RAM中,这就是CPU可以访问其编程指令和这些指令要操作的数据的地方。在引导过程中,计算机将特定的操作系统程序(如内核、init或systemd)以及硬盘驱动器中的数据复制到RAM中,由计算机的处理器CPU直接访问。

交换空间

交换空间是现代Linux系统中的第二种内存类型。交换空间的主要功能是当实际内存被填满,需要更多的空间时,用磁盘空间代替RAM内存。

例如,假设您有一个具有8GB RAM的计算机系统。如果您启动的程序不填充该RAM,一切都是好的,不需要交换。但是假设当您添加更多的行时,您正在处理的电子表格会增长,并且,再加上正在运行的所有其他内容,现在将填充所有的RAM。如果没有可用的交换空间,您将不得不停止电子表格的工作,直到您可以通过关闭一些其他程序来释放一些有限的RAM。

内核使用内存管理程序来检测最近没有使用内容的内存块,也就是页面。内存管理程序将这些相对较少使用的内存页交换到专门指定用于“分页”或交换的硬盘驱动器上的一个特殊分区。这将释放RAM,并为将更多数据输入电子表格腾出空间。内核的内存管理代码会跟踪那些交换到硬盘上的内存页,如果需要的话,可以将它们分页回RAM。

Linux计算机中的内存总量是RAM加上交换空间,称为虚拟存储器.

Linux交换的类型

Linux提供了两种类型的交换空间。默认情况下,大多数Linux安装都会创建交换分区,但也可以使用特殊配置的文件作为交换文件。交换分区正是它的名称所暗示的-一个标准磁盘分区,由mkswap命令。

如果没有可用的磁盘空间来创建新的交换分区,或者在卷组中可以为交换空间创建逻辑卷,则可以使用交换文件。这只是一个常规文件,它被创建并预先分配到指定的大小。然后mkswap命令将其配置为交换空间。除非绝对必要,否则我不建议使用文件作为交换空间。

震荡