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/ 中命名並在其中放置新設定。

您可以在這些目錄中搜尋特定設定。

相關內容