OLED|Linux 交换分区的作用有哪些?

OLED|Linux 交换分区的作用有哪些?

文章图片

OLED|Linux 交换分区的作用有哪些?

大多数 Linux 安装建议您包含交换分区 。 对于习惯将整个操作系统放在一个分区上的 Windows 用户来说 , 这可能看起来很奇怪 。 交换分区有什么作用 , 你甚至需要一个 , 它应该有多大?这些都是重要的问题 , 只要选择正确 , 就可以极大地提高系统的性能 。
Linux 交换分区的作用
交换分区用作 RAM 的溢出空间 。 如果您的 RAM 完全填满 , 任何其他应用程序都将在交换分区而不是 RAM 上运行 。

这听起来像是一种增加计算机可用内存量而不实际获得更多 RAM 的简单方法 , 但事实并非如此 。 RAM 是内存的理想硬件 , 因为它非常快 , 不像硬盘驱动器 , 相对而言 , 速度要慢得多 。
固态驱动器的速度大大提高 , 可能使性能受到的影响较小 , 但即使它们也无法与 RAM 匹敌 。 较新的 NVMe SSD也是如此 。 无论哪种情况 , 您都不希望对固态驱动器造成额外的磨损 。
与交换分区非常相似的是Windows 页面文件 , 尽管两者之间存在许多技术差异 。
Linux 交换分区不限于溢出存储空间 。 它可以通过其他方式帮助您的 PC 。
优先级
交换分区还可以帮助将一些项目从内存移动到硬盘驱动器 , 以便为更重要的项目留出更多内存空间 。 这意味着很少接触的项目将被移动到交换分区 。
被认为是“稀有”的阈值取决于可配置的“swappiness”(是的 , 这是实际使用的术语) 。 更高的交换性意味着数据更有可能被移动到交换分区 。 较低的交换性意味着数据不太可能移动到交换分区 。
休眠
每当您告诉系统休眠时 , 交换分区都会用作内存内容的目的地 。 这意味着如果没有交换分区 , Linux 上的休眠是不可以的 。

也就是说 , 人们很少使用休眠功能 , 所以这对你来说可能无关紧要 。
您需要交换分区吗?
这是否意味着交换分区是必要的?一点也不!Linux 系统可以在没有交换分区的情况下完美运行 。 我们已经讨论了交换分区的好处 。 现在 , 你为什么不想拥有一个?
当交换分区没有帮助时
交换分区有其缺点 。 它们占用的硬盘空间在不使用时不会动态调整大小 。 大量交换使用也会增加主驱动器的磨损 。 在某些情况下 , 交换分区甚至无助于提高性能 。 这是一个示例 , 其中拥有交换分区实际上可能比没有交换分区更糟糕 。
假设您在只有 2GB RAM 和 5400rpm 硬盘的旧上网本上安装了 Linux 。 只需 2GB 内存 , 您可以想象打开几个浏览器选项卡会很快填满 。 交换分区允许您在内存溢出时保持它们全部打开 。
但随后由于硬盘驱动器的 5400rpm 速度出现了瓶颈 。 由于硬盘驱动器非常慢并且系统不断想要访问交换分区 , 因此上网本变得非常缓慢 。 除非您关闭所有内容以释放一些内存 , 否则机器速度很慢以至于无法使用 。
设置的 swappiness 并不能保证一旦 RAM 中的空间可用 , 交换分区中的所有内容都会移回 。 相反 , 很多可能会留在交换分区中 , 导致上网本继续运行缓慢 。 因此 , 您需要重新启动计算机以从头开始 , 这需要一段时间 , 因为系统必须在关闭之前从交换分区中删除所有内容 。
当你没有交换时会发生什么
如果您决定放弃交换分区 , 请了解风险 。 当您的计算机需要的 RAM 超出可用内存时 , 界面可能会锁定 。 您可能不得不强制退出计算机并丢失您正在处理的所有数据 。
在这种情况下 , 您可能希望周围有一个交换分区 , 即使它只使用过一次 。 这取决于您是否经常发现自己的存储空间不足 。 如果您将可用存储空间减少了 4GB , 您会注意到吗?因为您将这些空间用于交换?

Linux 交换建议
以下是一些关于何时可能需要交换分区以及设置多大的建议 。
如果您希望能够使您的计算机休眠 , 那么您应该有一个交换分区 。 这个分区的大小应该是您安装的内存大小 , 再加上 10-25% 的空间 , 以便为已经移入交换分区的任何项目留出空间 。
只是想要一个小的性能提升(并且你至少有一个 7200rpm 的硬盘)?然后 , 您可以根据需要添加交换分区 。 它的大小可以是任何你想要的 , 但如果你创建一个交换分区来启用休眠 , 我不会让它比你做的更大 。
如果您偶尔使用需要额外 RAM 的繁重应用程序 , 交换分区可以让您高枕无忧 。 在这种情况下 , 您不需要交换分区与 RAM 一样大 。