首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在AlmaLinux 8或CentOS 7上,vm.swappiness=0是否意味着完全禁用了交换?

在AlmaLinux 8或CentOS 7上,vm.swappiness=0是否意味着完全禁用了交换?
EN

Unix & Linux用户
提问于 2022-10-20 13:25:29
回答 2查看 480关注 0票数 1

多年来,我一直在sysctl.conf中使用sysctl.conf,但即使有大量可用的内存(缓存方面可能几乎已满,虽然通常仍有4GB可用,但“可用”仍然相当免费),但交换一直在被使用,有时甚至几乎已经满了。

我根本不想使用交换,除非absolutely需要

我刚读到在这个2019年年的答复中

swappiness=0告诉内核尽量避免将进程从物理内存中交换出来。

然而,我也读到了2012年在年的回答中

swappiness=0:

  • 内核版本3.5及更高版本:禁用交换。
  • 内核版本早于3.5:尽可能避免从物理内存中交换进程。

所以我很困惑..。vm.swappiness=0是完全禁用交换,还是在绝对必要时仍然使用交换?

服务器的内核版本:

  • 4.18 (AlmaLinux 8)
  • 3.10 (CentOS 7)
EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2022-10-20 13:55:47

完全禁用交换的唯一方法是一开始就不设置它。

vm.swappiness设置为0将导致内核只使用交换作为最后手段;它目前被记录为

在0时,内核将不会启动交换,直到空闲和文件支持页面的数量小于区域中的高水印。

据我所知,将swappiness设置为0从未完全禁用交换,因此,如果有必要,您将看到在这两个环境中都使用了交换。

票数 2
EN

Unix & Linux用户

发布于 2022-10-20 13:54:30

它没有完全禁用交换,至少不是以您可能考虑的方式。如果您休眠您的系统,它将使用交换。当您恢复系统时,您可能会发现一些交换仍然在使用中。我几天前就发现了。我让swappiness设置为0,没有使用交换,当我恢复我的系统时,我发现交换仍然使用512 K。这是在5.14.21上。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/721762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档