为什么建议 swappiness=10?

为什么建议 swappiness=10?

swappiness=10建议值为在 Ubuntu 的 SwapFaq 中

为什么建议使用值 10 而不是swappiness=0

10 有什么优点,而零有什么缺点吗?

答案1

swappiness=0将等待交换,直到绝对必要时才进行。设置一个中等值,例如,swappiness=10将导致页面更容易从内存交换到磁盘。这可以防止需要一次交换很多;这种需要可能会带来令人讨厌的延迟。

此外,进程通常会运行,但长时间不执行任何操作。许多守护进程(后台服务)的行为都是这样的。您可能有一个后台应用程序在一段时间内未使用。如今,一些应用程序被实现为多个进程,例如 Chromium 和 Google Chrome,其中每个选项卡背后都有一个单独的进程(不是单独的线程,而是单独的过程)。设置swappiness为 10 这样的值可以使这些不被积极使用的后台任务被交换到内存中,即使它们可能仍然挤在 RAM 中。然后,当更积极使用的进程需要分配更多 RAM 时,它可以更快地完成。

总之,允许进程从 RAM 交换到磁盘较早比必要的程度更高,往往会带来绩效效益,降低进程分配内存时延迟。这是以交换进程所需的时间为代价的。但交换进程的频率通常比正在使用的进程分配和释放内存的频率要低得多,因此这种权衡往往是值得的。

相关内容