什么是“交换区”?


16

因此我注意到没有直接问过这个问题。

人们在安装Ubuntu时一直指的是“ 交换区 ” 是什么?


7
请问这个问题的帮助?
穆鲁

5
相关:SwapFaq
Kagan

@Pandya Nope; 我正在寻求视觉辅助工具的答案。
Akiva 2014年

1
@Akiva您能再具体点吗?就我个人而言,我不确定在这种情况下视觉辅助设备到底有什么帮助。
TheSchwa

1
@Akiva请查看我的最新答案,并让我知道您的想法。
TheSchwa

Answers:


28

摘要

交换区只是存在于硬盘驱动器上的伪造RAM。它比实际的RAM慢很多,但是在许多情况下必须保持计算机正常运行。一个好的经验法则是拥有与普通RAM一样多的交换空间。

记忆

您的计算机具有两种不同的内存,我们需要讨论。您的文件和操作系统存储在硬盘驱动器(通常是HDD)上。这相对较慢且便宜,但是在系统关闭之间仍然存在。您的计算机还具有RAM(随机存取存储器),该速度更快,更昂贵,并且在计算机断电时会丢失其内容。为了运行程序,首先将其从HDD复制到RAM(速度要快得多),以便可以实时执行。

交换

但是,我们应该问一个问题:如果RAM耗尽但想打开另一个程序会怎样?答案不好。您的计算机将冻结,直到有足够的RAM来完成操作为止(通常称为“崩溃”)。尽管您可能只有几GB的RAM,但是大多数计算机的硬盘空间都超过了他们知道该怎么做。因此,我们可以在紧急情况下使用一些额外的空间作为伪造的“ RAM”。那就是交换空间。硬盘上的紧急RAM。


交换生活在您的硬盘上

现在我们的硬盘上有一些交换空间,用完RAM不再是什么大问题。现在,当我们用完并希望打开另一个程序时,操作系统将浏览RAM中当前所有已打开的程序,并选择一个尚未使用过的程序。然后,它将程序从RAM中复制出来并存储在交换空间中,从而为新程序腾出空间。如果将来我们要访问“交换”程序,则操作系统将其简单地复制回RAM,从而有可能在此过程中交换其他程序。

分区与文件

创建交换空间时,有两种选择。您可以在硬盘驱动器上创建一个单独的分区,这在Ubuntu中是推荐的,如果您希望使系统休眠,则必须这样做。或者,您可以在硬盘驱动器上创建交换文件(在Windows中称为“页面文件”)。从技术上讲,交换分区的性能将优于交换文件,但差异可能微不足道。还要注意,如果同一硬盘上有多个Linux发行版,它们可以共享一个交换分区(交换分区没有文件系统)。

指导方针

如果是第一次安装Ubuntu,则最好创建一个交换分区。这是Ubuntu安装程序中的默认设置,也是我个人的建议。另一方面,如果您没有任何交换空间,并且想在安装后添加一些交换空间,则使用交换文件可能会更容易,更快捷。

就大小而言,如果您不知道要做多大,那么一个很好的基准(以及Ubuntu安装程序中的默认值)就是要有与RAM相同的交换量。话虽如此,这只是一个非常通用的准则,取决于您使用系统的方式。没有交换空间没有错。如果您开始用完RAM,只需增加交换空间即可。

也可以看看


您可以为交换区域创建一个单独的分区(推荐) -为什么这样做?对我来说很棒。
jcora 2014年

如果您有16GB RAM,Ubuntu 14.04上的默认安装程序实际上会创建一个16GB交换分区。因此,您的建议已经是现在的默认设置。
jmiserez 2014年

1
@jco如果文件没有碎片,它将具有与交换分区相同的性能,因为内核会绕过最新版本的文件系统。如果在安装时创建交换文件,则可能是这种情况,但不能保证。如果您以后更改交换文件,它可能会碎片化。因此,更容易制作保证在磁盘上连续的交换分区。另外,如果您想尝试休眠,建议使用分区。
TheSchwa 2014年

@JeremieMiserez谢谢,我没有意识到,因为我在安装Ubuntu时总是手动进行分区。更新了措词以反映这一点。
TheSchwa 2014年

@TheSchwa感谢您的信息。我有一个安装后创建的加密交换文件。我之所以选择它,是因为它看起来更加实用,因为我不想为20GB的宝贵SSD空间提供时钟,而这些空间通常不会使用,并且因为我将获得更多RAM并计划增加交换大小。有没有办法确保它不会碎裂?
jcora 2014年

4

来自社区帮助

  • 交换空间是硬盘上区域,它是计算机虚拟内存的一部分,是可访问物理内存(RAM)和交换空间的组合。交换空间临时保存不活动的内存页面
  • 当系统确定活动进程需要物理内存并且可用的可用物理内存不足时,将使用交换空间。如果系统恰好需要更多的内存资源或空间,则将物理内存中的非活动页面移至交换空间,从而释放该物理内存以供其他用途。
  • 请注意,交换的访问时间较慢,因此请不要将其视为物理内存的完整替代品。
  • 交换空间可以是专用交换分区(推荐),交换文件,也可以是交换分区和交换文件的组合。

另请访问:-

  • 维基百科分页:

    使用交换分区,可以选择磁盘在磁盘上的驻留位置,并将其放置在磁盘吞吐量最高的位置。交换文件的管理灵活性可以超过交换分区的其他优点。例如,交换文件可以放置在任何驱动器上,可以设置为任何所需的大小,并且可以根据需要添加或更改。但是,交换分区的灵活性不如文件,因为在不使用工具调整其大小的情况下无法更改它,通常在使用交换分区的操作系统之外。

    Linux支持使用几乎无限数量的交换设备,可以为每个交换设备分配优先级。当操作系统需要将页面交换出物理内存时,它将使用具有可用空间的优先级最高的设备。

  • /programming//q/4970421(虚拟内存和交换区域之间的差异)

  • Linux.com-交换空间

    交换是将内存页复制到硬盘上预先配置的空间(称为交换空间)以释放该内存页的过程。物理内存和交换空间的总大小就是可用的虚拟内存量。

  • 交换分区的重要性


希望这有助于了解和获得有关交换的基本知识。


0

“交换区域” 与Windows NT家族中用于分页的pagefile.sys相同。


-1表示OP知道Windows中的页面文件。同样,并非所有页面都从主内存中清空后最终会出现在交换空间中。两者是相关的,但是除了交换以外还有其他分页机制。
大卫·佛斯特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.