linux内存swappiness:为什么不总是0?

时间:2014-07-19 12:27:52

标签: linux paging

Linux允许用户将系统swappiness从0更改为100.如果设置为0,内核将禁用交换,如果备用内存可用,则所有进程都将保留在内存中。相反,如果设置为100,内核将积极交换。我的问题是,为什么不总是将swappiness设置为0?作为系统用户,我们可能总是希望我们的程序在内存中维护而不是交换到磁盘。所以我认为将swappiness设置为100是没有意义的,对吗?

2 个答案:

答案 0 :(得分:1)

正如another stack exchange site所述,有一些交换是好的。它从很少使用它的进程中释放内存,以便更活跃的进程可以访问RAM。大约60的swappiness级别是一个很好的平衡,因为它可以释放未使用的内存,而不会显着地阻碍更多活动进程的性能。

这一切都取决于你拥有和将使用多少RAM。

答案 1 :(得分:0)

将swappiness设置为100是一种极端情况,当然。但人们可能总会想到这可能是必要的。

另一种情况,将swappiness设置为0,似乎是最好的事情,但它不是。刚开始,如果你做了这个并且一个进程需要更多内存会发生什么?可能是崩溃。

然后,正如@limecore上面所说,拥有一些交换内存总是好的。