告诉Linux在一定量的RAM之前不要交换

时间:2014-06-19 09:13:52

标签: linux limit swap

我面临着一个非常具有讽刺意味的情况:交换应该可以帮助我放慢速度,因为它在使用3GB内存时开始交换,更不用说我的计算机有4GB了。

在达到x量的RAM之前,是否可以告诉Debian不要交换?

编辑:问题解决了。

即使swappiness = 0,这个愚蠢的交换仍然会开始。 所以我用swapoff -a完全禁用它,并在我需要使用swapon -a

时再次启用它

2 个答案:

答案 0 :(得分:2)

你有一个非常普遍的误解,认为交换会使你的系统变慢。如果这是真的,没有人会交换。您的操作系统非常智能,只能在提供优势的地方进行交换。

你看到的微小数量的交换是可能从未被访问的内存,不管你信不信,交换的数据可能仍然在RAM中。机会交换只允许操作系统丢弃数据而不必将其写出来,如果以后内存不足,这可能会带来好处。

您的性能问题可能与交换无关。这是一种常见的误诊。

需要交换可能会使系统变慢,但是如果它对您有利,则可以选择交换。

答案 1 :(得分:0)

正如大卫所说,你想要的是不可能的。 但是有可能配置linux倾向于交换多少。 它是内核参数" vm.swappiness"。 默认值为60.例如,当您将其设置为极低值零时,内核将仅交换以避免内存不足。