
嘗試永久更改某些虛擬機器核心參數,我創建了/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/ 中命名並在其中放置新設定。
您可以在這些目錄中搜尋特定設定。