我在哪里可以找到sysctl.conf
基于最后一场比赛的官方文档?
因此,/etc/sysctl.conf
文件中有两个条目:
vm.swappiness=10
vm.swappiness=11
Run Code Online (Sandbox Code Playgroud)
哪个会赢?最后一个?如果/etc/sysctl.d
目录中有文件会发生什么?
我不认为有任何这样的官方文件。sysctl
条目由procps
systemd处理;但两个项目的文档都没有说明如何在同一配置文件中处理条目。
简短的版本是最后一个条目sysctl.conf
获胜,即使存在其他文件(在其中/etc/sysctl.d
或其他地方),无论使用哪个系统加载设置。
procps
要了解如何procps
处理条目,我们需要看的源代码sysctl
。这表明后面的条目在不知道早期条目的情况下被处理,所以最后一个获胜(看看Preload
函数)。当在命令行上给出多个配置文件时,它们会按顺序处理,如手册页中所述:
使用此选项意味着参数
sysctl
是文件,按指定的顺序读取这些文件。
有了这个--system
选项,事情变得有点复杂,但至少有记录:
从所有系统配置文件加载设置。按照从上到下的顺序从以下列表中的目录中读取文件。一旦加载了给定文件名的文件,后续目录中的任何同名文件都将被忽略。
/run/sysctl.d/*.conf
/etc/sysctl.d/*.conf
/usr/local/lib/sysctl.d/*.conf
/usr/lib/sysctl.d/*.conf
/lib/sysctl.d/*.conf
/etc/sysctl.conf
文档不是很完整。如上所述,给定文件中的条目按顺序应用,并覆盖先前赋予相同设置的任何值。此外,查看该PreloadSystem
函数表明文件是按名称顺序处理的,并且/etc/sysctl.conf
是无条件处理的(即较早目录中的同名文件不会覆盖它)。
systemd有自己的sysctl
处理程序,这是在记录的sysctl.d
手册页; 有一个关于优先级的部分:
配置文件从目录中读取
/etc/
,/run/
以及/usr/lib/
,在优先顺序。这些配置目录中的每个配置文件都应以. 在文件覆盖的文件,在相同的名称和。中的文件覆盖.filename
.conf
/etc/
/run/
/usr/lib/
/run/
/usr/lib/
[…] 所有配置文件都按字典顺序按文件名排序,无论它们驻留在哪个目录中。如果多个文件指定了相同的选项,则文件中具有字典序最新名称的条目将优先。建议在所有文件名前加上一个两位数字和一个破折号,以简化文件的排序。
同样,单个配置文件中较晚的条目会覆盖较早的条目。
归档时间: |
|
查看次数: |
2092 次 |
最近记录: |