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

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

尝试永久更改某些虚拟机内核参数,我创建了/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

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

# sysctl vm.swappiness
vm.swappiness = 30
# sysctl vm.dirty_ratio
vm.dirty_ratio = 30

文件中的参数/etc/sysctl.conf没有更改,也设置为 10。这是否意味着系统从其他地方获取这些值?除了我的配置文件和链接之外,没有任何配置文件:vm.dirty_ratiovm.swappines/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

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

答案1

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

检查tuned是否正在运行:

systemctl status tuned

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

tuned-adm active

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

答案2

CentOS 7 服务器上的默认 /etc/sysctl.conf 文件注释如下:

# sysctl 设置是通过以下文件定义的

# /usr/lib/sysctl.d/、/run/sysctl.d/ 和 /etc/sysctl.d/。

#

# 供应​​商设置位于 /usr/lib/sysctl.d/ 中。

# 要覆盖整个文件,请创建一个具有相同内容的新文件

# /etc/sysctl.d/ 并将新设置放在那里。覆盖

# 仅限特定设置,稍后添加带有词法的文件

# 在 /etc/sysctl.d/ 中命名并在其中放置新设置。

您可以在这些目录中搜索特定设置。

相关内容