你需要一个交换分区吗?

安装Linux时通常会问到的问题是“我需要交换分区吗?”。

在本文中,我将解释什么是交换分区,然后我会让你决定你是否需要。

记忆有点像购物中心停车场。 在一天的开始时,停车场将是空的,并且会有很多可用的空间。 随着人们开始到达越来越多的空间已经用完,最终停车场将会满员。

此时可能会发生一些事情。 您可以停止更多的汽车进入停车场,直至有空间可用,或者您迫使部分汽车离开,从而释放空间。

在计算方面,当你第一次开始使用你的电脑时,你应该拥有大部分可用的内存。 唯一使用的内存将来自操作系统所需的进程。 每次加载应用程序时,都会启动一个新进程,并为应用程序预留一定量的内存。

每次加载新的应用程序时,都会有更少的内存可用来运行该程序,并且最终会导致无法运行该应用程序。

在没有足够内存的情况下,Linux会做什么?

它开始消灭流程。 这不是你真正想要发生的事情。 虽然有一个评分机制来选择杀死你的流程,但你基本上是把决定权交给你的操作系统,然后把它从你自己的手中拿走。

当虚拟内存用完时,Linux只会开始关闭进程。 什么是虚拟内存? 虚拟内存是物理RAM的数量+为分页目的而预留的任何磁盘空间(交换)。

将交换分区视为溢出停车场。 当所有主要停车位都已满时,溢流停车场可用于额外的空间。 使用溢流停车场当然有缺点。 一般来说,溢流停车场距离实际的购物中心越远,因此驾驶员和乘客必须进一步走到耗费时间的商店。

您可以创建一个交换分区,当物理RAM变低时,Linux将使用它来存储空闲进程。 交换分区基本上是硬盘上的磁盘空间。 (就像一个溢出的停车场)。

访问RAM显然比存储在硬盘上的文件快得多。 如果你发现你的内存不断用完,而你的硬盘驱动器正在呼啸,那么你可能会过度使用交换空间。

你需要一个交换分区有多糟糕?

如果您首先有一台内存很小的计算机,那么强烈建议您使用它。

作为测试,我建立了一个具有1GB RAM和无交换分区的虚拟机。 我安装了使用LXDE桌面的Peppermint Linux,整体而言,它具有较低的内存占用量。

我使用Peppermint Linux的原因是它预装了Chromium,每次打开Chromium标签时都会使用相当数量的内存。

我打开了一个标签并导航到linux.about.com。 然后我打开第二个标签并做同样的事情。 我不停地重复这个过程,直到最后的记忆耗尽。 上图显示了接下来发生的事情。 Chromium基本上显示一条消息,指出该选项卡已停止工作,这可能是由于内存不足。

然后,我创建了一个具有1 GB RAM和8 GB交换分区的新虚拟机 。 我可以在标签之后的标签后打开标签,尽管物理内存已经很低,交换空间开始被使用,我仍然可以继续打开标签。

很显然,如果你有一台内存为1GB的机器,那么你就需要一个交换分区,如果你有一台拥有16G内存的机器。 除非您进行一些严格的数字运算或视频编辑,否则很可能永远不会在具有8 GB或更大RAM的计算机上使用交换空间。

然而,我总是建议有一个交换分区。 磁盘空间很便宜。 当你的内存不足时,将其中的一部分设置为透支。

如果您发现计算机内存不足,而且您经常使用交换空间,则可能需要考虑升级计算机上的内存

如果你已经安装了Linux,并且你没有设置交换分区,所有的都不会丢失。 相反,可以创建一个基本实现相同目标的交换文件

我可以在我的SSD上留出空间作为交换空间吗?

您可以在SSD上留出空间用于交换空间,理论上访问该分区比在传统硬盘上快得多。 固态硬盘的使用寿命有限,只能处理一定数量的读写操作。 要把事情看得很清楚,这个数字实际上非常高,你的SSD可能会超过你电脑的寿命。

记住交换空间应该是一个溢出缓冲区,并且不能一直使用。 如前所述,如果您发现您经常使用交换分区,请考虑升级内存。