尝试永久更改某些虚拟机内核参数,我创建了/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_ratio
vm.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/ 中命名并在其中放置新设置。
您可以在这些目录中搜索特定设置。