我们还需要在桌面上交换分区吗?

pra*_*ram 47 partitioning swap

我读过这个问题,但它是在服务器而不是台式机或笔记本电脑的上下文中提出的。

如果笔记本上安装了大量 RAM,比如 8 GB,我们还需要交换空间吗?

jll*_*gre 43

有一个普遍的误解,认为交换空间会对系统性能产生负面影响。这是不正确的。只要您有足够的 RAM,无论大小如何,交换区域都不会影响性能。影响性能的是 RAM 不足和有效使用交换空间。

  1. 如果您没有交换空间并且碰巧用完了 RAM,内核将选择一个或多个它认为合适的进程(尽管您可能会给它一些提示)并杀死它们。

  2. 如果您有一个交换空间并且内存不足,内核将选择较少使用的内存页面并将它们放在交换区域以释放 RAM。这会减慢系统速度,但您的应用程序不会受到其他影响。

我总是喜欢情况 2。因为我觉得丢失部分或全部工作感到不舒服,因为内核认为我的应用程序值得杀死。此外,由于当前平均磁盘的大小在 TB 范围内,因此为交换保留百分之几通常不是问题。

  • @Donato 是的,我的第一点是正确的。如果没有配置交换空间(即磁盘),内核就不能选择使用磁盘空间来释放 RAM。 (6认同)
  • @Zac 如果您耗尽了交换空间,那么您基本上处于与最初没有交换空间相同的情况。一个或多个进程将死亡。他们可能被 oom 杀手选中,或者只是出现在错误的地点和错误的时间。通常,适当监控的生产系统应该在交换耗尽发生之前触发警报,然后是管理员反应。 (2认同)

Mit*_*tch 12

如果您有 3GB 或更高的 RAM,Ubuntu 将自动不使用交换空间,因为它对于操作系统来说已经足够了。

现在你真的需要一个交换分区吗?

在我看来,答案是肯定的。因为您不知道将来要安装或执行哪些可能需要交换空间的操作。此外,如果您打算使用休眠,您可能需要一些交换空间。您实际上不必有交换分区,但建议您在正常操作中确实用完那么多内存。

有关是否需要交换的更多信息,请参阅Ubuntu Swap FaqSwap Requirements

  • 该博客声明错误引用了askunbutu 的回复。没有证据表明 user4124 是 Ubuntu 开发人员。“将(通常)没有使用”与“将自动禁用”有很大不同。实际上,Ubuntu 永远不会禁用交换,并且会在需要时使用它,即使您有 8GB 或更多 RAM。 (3认同)

hma*_*yag 6

在过去 6 年左右的时间里,我使用了至少 8GB RAM 的桌面系统。我不记得系统在正常使用情况下换出内存的情况 - 我经常使用 htop 监视资源使用情况。甚至在我出于开发目的同时运行 4 个虚拟机(服务器)的情况下也不会发生交换。

话虽如此,如果您正在运行的应用程序是内存密集型的(例如视频编辑、图像编辑、大型数据库表操作等),您可能会面临系统内存不足的情况。在这种情况下,可能需要交换空间。将其视为最后的安全网。考虑到当今系统的多 TB 容量,交换分区中的几 GB 容量是多少?安全总比抱歉好:-)