我甚至需要Linux的交换分区?

我有一个核心2笔记本电脑与4gb的RAM。 我使用机器浏览,networking的东西和简单的编程。 (我使用这台机器偶尔托pipe一个小的ftp和web服务器。)

交换分区会有什么好处吗? 我的理解是,有了这么多的记忆,就没有必要为我的平庸使用交换了。 实际上,内核将被迫使用我的内存,这会更快。

它是否正确?

我需要一个交换分区吗?

你需要一个交换分区 (不是交换文件)来发送你的工作站进入hibernate状态。

我如何强制内核不使用交换?

sysctl vm.swappiness=0 

另一个说明:这与服务器pipe理有什么关系?

有好处。 你是否需要它是争论。 至less,交换给你一个安全网,以防万一发生意想不到的事情。 您的系统将交换,而不是开始有程序崩溃或OOM死亡。

挂起到光盘还需要足够的交换来将内存内容保存到(它可能会根据设置和版本使用压缩)。

因为这是一台笔记本电脑,你可能想要使用挂起到光盘。

实际上,内核将被迫使用我的内存,这会更快。 ?

也许 ,很可能没有 – 现代操作系统对于使用可用内存来说是智能的(理智的),即使是旧的也是相当不错的。 在我使用的所有Linux机器上,交换计数保持在0字节,直到需要为止 – 没有理由操作系统将使用交换,除非它被迫太..

只有当物理内存不足时才会出现问题。

  • 没有任何交换空间,系统往往会冻结几分钟, OOM杀手 (内存不足)就会启动并开始查杀进程,直到系统主要位有足够的空闲内存才能运行。
  • 使用交换空间,引起交换的应用程序可能会减慢一点(这是一个很好的迹象表明它已经达到了物理内存的限制),而且没有任何东西,它只是继续。

不可以。如果由于某种原因,您稍后决定必须交换,您可以创build一个文件并告诉操作系统在文件系统上使用该文件作为交换空间。

将应用程序的工作集想象成由两部分组成:它在自己的地址空间中保存的数据以及从文件访问的数据。 第一个必须保存在RAM或交换正确性,第二个可以从磁盘或文件服务器正确检索,只需要caching在RAM中的性能。

道歉,我没有经validation据,但我一直认为能够分页数据在第一类不再是工作集的一部分,从而减less第二类数据需要从磁盘或networking获取。

实质上,交换给你的是防止突发内存消耗 – 如果你的一些应用程序决定分配太多的内存为你的系统的好(内存消耗方法总可用内存),你将得到的是终止所述应用程序或者(最好的情况下)或者终止其他应用程序(根本不好),无论哪种方式,在99%的情况下,应用程序都不会做任何事情。 使用交换,有可能,该应用程序将做任何事情,释放内存和正常的操作将恢复。 没有交换就没有这种可能性。 你真的不能把4Gb的硬盘换掉吗? 我们绝对可以在我们的系统上启用交换function,尽pipe它们至less具有32Gb的内存。

一般来说,你交换的问题是什么? 我所看到的唯一的“真正的”缺点是,你正在从可用磁盘空间中删除几千兆字节,但这就是它的全部。 还是我错过了什么?

我有一个旧的服务器运行4GB的内存,交换它是4GB和less量它被使用。 很less,但它确实得到使用。 如果您不能腾出4GB的交换空间,我会升级硬盘。