RHEL7 的内核参数不会永久更改

sys*_*463 5 linux rhel kernel kernel-parameters

尝试永久更改某些虚拟机内核参数,我创建了/etc/sysctl.d/01-custom.conf配置文件,如红帽知识库文章中所述。这是它的内容:

# cat /etc/sysctl.d/01-custom.conf
vm.swappiness=10
vm.dirty_ratio=20
vm.vfs_cache_pressure=200
Run Code Online (Sandbox Code Playgroud)

但重新启动后仅vm.vfs_cache_pressure发生更改并swappines具有dirty_ratio以前的值。

# sysctl vm.swappiness
vm.swappiness = 30
# sysctl vm.dirty_ratio
vm.dirty_ratio = 30
Run Code Online (Sandbox Code Playgroud)

文件中的参数/etc/sysctl.conf没有变化vm.dirty_ratiovm.swappines也设置为 10。这是否意味着系统从其他地方获取这些值?/etc/sysctl.d除了我的配置文件和链接之外,没有任何配置文件/etc/sysctl.conf

# ll /etc/sysctl.d/
total 4
-rw-r--r--  1 root root 147 May 30 04:40 01-custom.conf
lrwxrwxrwx. 1 root root  14 Apr  3 15:00 99-sysctl.conf -> ../sysctl.conf
Run Code Online (Sandbox Code Playgroud)

更新: sysctl --system显示我的配置中的值已被获取。vm.swappines和没有vm.dirty_ratio设置为 30。

小智 0

如果您正在运行tuned,它将优先于sysctl:Sysctl.conf参数被Tuned覆盖

检查tuned是否正在运行:

systemctl status tuned
Run Code Online (Sandbox Code Playgroud)

如果它正在运行,请检查哪个配置文件处于活动状态:

tuned-adm active
Run Code Online (Sandbox Code Playgroud)

Tuned 的配置文件可以在 /usr/lib/tuned/ 中找到:

# grep -ri '^vm.swappiness' /usr/lib/tuned/
/usr/lib/tuned/latency-performance/tuned.conf:vm.swappiness=10
/usr/lib/tuned/throughput-performance/tuned.conf:vm.swappiness=10
/usr/lib/tuned/virtual-guest/tuned.conf:vm.swappiness = 30
Run Code Online (Sandbox Code Playgroud)