多年来,我一直在sysctl.conf中使用sysctl.conf,但即使有大量可用的内存(缓存方面可能几乎已满,虽然通常仍有4GB可用,但“可用”仍然相当免费),但交换一直在被使用,有时甚至几乎已经满了。
我根本不想使用交换,除非absolutely需要。
我刚读到在这个2019年年的答复中:
swappiness=0告诉内核尽量避免将进程从物理内存中交换出来。
然而,我也读到了2012年在年的回答中:
swappiness=0:
所以我很困惑..。vm.swappiness=0是完全禁用交换,还是在绝对必要时仍然使用交换?
服务器的内核版本:
发布于 2022-10-20 13:55:47
完全禁用交换的唯一方法是一开始就不设置它。
将vm.swappiness设置为0将导致内核只使用交换作为最后手段;它目前被记录为
在0时,内核将不会启动交换,直到空闲和文件支持页面的数量小于区域中的高水印。
据我所知,将swappiness设置为0从未完全禁用交换,因此,如果有必要,您将看到在这两个环境中都使用了交换。
发布于 2022-10-20 13:54:30
它没有完全禁用交换,至少不是以您可能考虑的方式。如果您休眠您的系统,它将使用交换。当您恢复系统时,您可能会发现一些交换仍然在使用中。我几天前就发现了。我让swappiness设置为0,没有使用交换,当我恢复我的系统时,我发现交换仍然使用512 K。这是在5.14.21上。
https://unix.stackexchange.com/questions/721762
复制相似问题