Bra*_*ley 10
来自关于 memory.swappiness的内核文档:
Run Code Online (Sandbox Code Playgroud)5.3 swappiness类似于 /proc/sys/vm/swappiness,但仅影响组的层次结构。
无法更改跟随 cgroups 的 swappiness。
- 根 cgroup(使用 /proc/sys/vm/swappiness)。
- 一个使用层次结构的 cgroup,它下面有其他 cgroup。
- 使用层次结构而不是层次结构的根的 cgroup。
来自红帽客户门户:
Run Code Online (Sandbox Code Playgroud)memory.swappiness设置内核倾向于换出此 cgroup 中任务使用的进程内存,而不是从页面缓存中回收页面。这是在 /proc/sys/vm/swappiness 中为整个系统设置的相同趋势,以相同方式计算。默认值为 60。低于 60 的值会降低内核换出进程内存的趋势,大于 60 的值会增加内核换出进程内存的趋势,而大于 100 的值允许内核换出属于此 cgroup 中进程的地址空间。
请注意,值为 0 不会阻止进程内存被换出;当系统内存不足时,可能仍会发生换出,因为全局虚拟内存管理逻辑不会读取 cgroup 值。要完全锁定页面,请使用 mlock() 而不是 cgroups。
:: 您不能更改以下组的swappiness:
* 根cgroup,它使用/proc/sys/vm/swappiness 中设置的swappiness。
* 一个下面有子组的 cgroup。
编辑: 如果您有兴趣确切地知道如何设置它,您可以像大多数其他 cgroup 属性一样设置它:
# cd /mnt/cgroup/<cgroupName>
# cat memory.swappiness
60
# echo "59 " > memory.swappiness
# cat memory.swappiness
59
Run Code Online (Sandbox Code Playgroud)