我正在阅读一些关于 Ubuntu 和其他发行版交换的教程。主要来自:
从那里,它参考了同一领域的其他有价值的教程,当然都是关于交换的,其中的信息涵盖得很好,解释得也很好。
根据他们的说法:如果 PC/笔记本电脑的内存为 8GB 或更少,建议使用交换分区 - 通常为当前可用 RAM 容量的 2 倍(主要是在应用休眠时)。到目前为止,对于一些笔记本电脑和旧 PC 台式机来说,我还可以接受。请注意,他们的硬盘上有 HDD。
我的忧虑使用交换会影响 SSD 的使用寿命,因此建议使用交换文件。建议在其他即将避免调整交换分区的大小
因此,到目前为止,交换文件对于以下方面很有价值:
- 完成对交换大小的手动管理,无需分区参与,避免损害 SSD 寿命
所以我想知道对于这些配备 4GB 和 8GB RAM 的 PC/笔记本电脑,是否建议采用交换文件方法 - 目前它们使用的是 HDD,但其中一些会在它们自己去世/离开后升级到 SSD
目标是采用一种标准方法并避免使用交换分区。我认为手动管理比原始/固定分区更灵活。
所以:
- 对于 8GB 或更小的 PC/笔记本电脑来说,使用交换文件是否明智且安全?
无论硬盘当前是 HDD 还是 SSD,都无所谓。
关于SSD寿命
这里提到了这个案例:
答案1
新安装时的默认设置
Ubuntu 默认在所有新安装中使用交换文件自 17.04 版起。
无论您是在 SSD 还是 HDD 上安装 Ubuntu,Ubuntu 安装都不会更改此默认设置。
因此我得出结论,使用 SSD 和 HDD 的交换文件是安全且明智的。
其他事宜
SSD 很脆弱
网络上有很多关于 SSD 如何脆弱以及过度写入(和读取)会导致故障的信息。最近的一份报告发现 SSD 与 HDD 一样可靠。具体细节很少,这可能只适用于企业级/服务器级驱动器。
或者,人们可以将原始制造商保修视为 SSD 可靠性的另一个指标。消费级(廉价)SSD 和 HDD 提供 3 年保修。这告诉我,对于正常使用,SSD 故障可能不是问题。
多少掉期
这个话题也已经被讨论得烂透了。以下是我的看法。交换大小通常与 RAM 大小有关,有各种经验法则。在翻译过程中经常遗漏的是,交换大小取决于计算机的使用。
我举个亲身经历的例子。我有一台 32GB RAM 和 8GB 交换空间(SSD 中)的台式机。然而,有一次(也只有一次)我设法用完了交换空间。当时我正在使用 R 处理大量大型数据集。我编写的代码一直在将各种数据集加载到 RAM 中,而当不再需要它们时却没有卸载它们。在这种情况下,这只是我的编码习惯不好。我的权宜之计是再添加 64GB 交换空间,然后再次运行“糟糕”的代码。这次成功了,我得到了我需要的结果。我后来修复了代码。
希望这可以帮助
答案2
我个人更喜欢交换文件,原因和您所说的一样。创建较小或较大的交换文件比调整分区大小要容易得多。
我的一台电脑有 8 GB 内存,运行的是 Ubuntu 20.04,并且根本没有交换空间。您可能需要考虑这个选项。根据您在电脑上执行的操作,即使没有交换空间,您也可能没问题。
如果你担心 SSD 会因交换活动而磨损,可以通过降低交换量来减少这种情况。请参阅此常见问题解答。
答案3
交换区还有一个鲜为人知的用途:当在旧可执行文件仍在运行时安装较新的可执行文件时,旧映像无法再从内存中卸载,并且没有磁盘支持。内核将把旧的可执行映像重新定位到交换区,以便可以正常进行内存管理。当旧的可执行文件最终完成执行时,内存和支持它的交换空间将被释放。
如果没有交换区,旧的可执行文件要么必须将其所有页面调用到内存中,要么必须被终止。否则,必须停止它才能替换,并且系统必须进入单用户模式才能进行包管理。
交换区允许您在服务运行时安装新包,并等到安装结束后重新启动服务以获取更新。
来源:https://haydenjames.io/linux-performance-almost-always-add-swap-space/