你可以有太多的交换吗?

An0*_*n0n 20 partitioning swap disk-usage ram 16.04

我只是想知道您是否可以拥有一个太大的交换分区。如果是,什么时候交换分区太大?交换分区太大有什么缺点/不良影响(即使我有足够的磁盘空间)?

如果不是,拥有超过推荐的交换空间有什么好处?

Per*_*uck 9

乍一看,您不能有太多的交换,因为您可以将交换视为增加 RAM 的一种方式。实际上它不会增加RAM,它只是假装:如果您有 8 GB 的实际 RAM 和配置的交换空间,例如 24 GB,那么您的程序最多可以分配和使用 8+24=32 GB 的内存起初听起来不错。

如果您运行的应用程序存在内存泄漏或并非真正适合使用 8 GB 内存运行(例如视频编辑),那么这些应用程序将开始使用该交换空间,并且交换速度很慢。这些应用程序使用的交换空间越多,系统就越忙于将内存移入和移出磁盘。这将大大降低整个系统的响应速度并导致糟糕的用户体验。

最终——当交换空间耗尽时——一些应用程序将面临内存不足的情况并被内核的 OOM_Killer 杀死

来自维基

现代计算机中的典型 OOM 情况发生在操作系统无法创建更多虚拟内存时,因为其所有潜在的后备设备已被填满。

结论

因此,交换空间过多的一个缺点是:您拥有的空间越多,这种 OOM 情况发生的时间越晚,您遭受滞后和无响应系统的影响的时间也就越长。

另一个明显的缺点当然是浪费磁盘空间,但现在这可能并不那么重要。


Dav*_*ter 7

大交换空间没有直接缺点。通过内核管理它的方式,将交换空间量增加到足够的数量对性能没有影响或可以忽略不计。

“太多”交换空间的唯一缺点是您不能使用该空间进行存储。

  • @An0n:如果计算机只能启动然后不存储任何有用的数据,它有什么用?这听起来更像是一个昂贵的空间加热器。 (2认同)
  • @An0n:当然,我假设了很多,但你没有抓住重点。我认为我们可以同意,要有用,计算机必须能够达到可用的系统状态(包括能够启动)并且可以访问用户可以用于其个人数据的存储。这要求它*不被交换空间占用*。 (2认同)
  • 当然是相对的。就像“太多”是相对的。如果我有一个可引导系统并且我将所有可用空间分配为交换空间,那么它对我不再有用,因为缺乏可用空间,直到我以更多可用空间结束的方式更改其系统配置。从这个意义上说,在那段时间内交换空间将“太多”,从而导致系统在那段时间内无用。不管怎样,我不是来和你争论词的语义的。 (2认同)

小智 4

除了磁盘空间较少之外,您不会感觉到任何其他缺点,我认为现在 2 倍内存量的概念在大多数系统中已经过时了。我通常建议在笔记本电脑中使用相同大小的 RAM 作为交换内存,以便让您有机会休眠您的电脑,而不会由于 RAM 的易失性而丢失任何数据。

我会考虑为交换分区使用超过 1 倍 RAM 大小的唯一情况是当您认为要在短时间内升级 RAM 大小时。或者,如果您计划使用一个系统,您将在某种缓存中存储同时未使用的程序所使用的内存量。

希望我的观点足够清楚,我再说一遍,我认为您不会因为交换内存过多而遇到任何问题。

祝你今天过得愉快!

  • 如果单用户桌面上的 RAM > 2-4 Gb,我根本不使用交换。 (2认同)
  • 你考虑过【内存泄漏的影响吗?】(https://askubuntu.com/a/1021072/225694) (2认同)

归档时间:

查看次数:

8655 次

最近记录:

7 年,1 月 前