我读过了这个问题,但这个问题是在服务器而不是台式机或笔记本电脑的背景下提出的。
如果笔记本电脑上安装了大量 RAM,比如 8 GB,我们还需要交换空间吗?
答案1
有一种常见的误解,认为交换空间会对系统性能产生负面影响。这是不正确的。只要您有足够的 RAM,无论大小如何,交换区域都不会影响性能。影响性能的是 RAM 不足和有效使用交换空间。
如果你没有交换空间,而且碰巧内存不足,内核会选择一个或多个它认为是好的候选进程(尽管你可能会给它一些提示虽然)并杀死他们。
如果您有交换空间但 RAM 不足,内核将选择使用较少的内存页面并将其放在交换区域以释放 RAM。这会降低系统速度,但您的应用程序不会受到影响。
我总是更喜欢第二种情况,因为内核认为我的应用程序值得被终止,因此我不愿意丢失部分或全部工作。此外,由于当前普通磁盘的大小在 TB 范围内,因此保留几个百分点用于交换通常不是问题。
答案2
如果你有 3GB 或更高的 RAM,Ubuntu 将自动不使用交换空间,因为它对于操作系统来说已经足够了。
现在您真的需要交换分区吗?
我认为答案是肯定的。因为你不知道将来要安装或做什么可能需要交换空间。此外,如果你打算使用休眠模式,你可能需要一些交换空间。你实际上不必有交换分区,但如果你在正常运行中确实用掉了那么多内存,建议这样做。
有关是否需要交换的更多信息,请参阅Ubuntu Swap 常见问题, 或者掉期要求
答案3
在过去的 6 年左右的时间里,我一直使用至少有 8GB RAM 的桌面系统。我不记得系统在正常使用情况下交换内存的情况 - 而且我经常使用 htop 监控资源使用情况。即使在我出于开发目的同时运行 4 个虚拟机(服务器)的情况下,也没有发生交换。
话虽如此,如果您运行的应用程序占用大量内存(例如视频编辑、图像编辑、大型数据库表操作等),您可能会面临系统内存不足的情况。在这种情况下,可能需要交换空间。将其视为最后的安全网。考虑到当今系统的多 TB 容量,交换分区中的几 GB 值多少钱?安全总比后悔好 :-)
答案4
这取决于您的系统上运行的是什么。
如果您正在创建内容,那么仍然分配交换空间可能是一个好主意,因此如果您确实用完了RAM,您的进程只会变慢,而不是被终止并可能丢失工作。
如果您的机器只是在运行程序,那么您不需要甚至不想要交换空间。我设计和构建了许多适合这种用途的类似信息亭的显示系统。我宁愿进程突然死掉,也不愿进程变慢,因为这样我就可以检测到这种情况并纠正它。