RockyLinux9 By SystemArch_Alex

Rocky Linux 9 基礎教學 (21):核心參數調優 (sysctl) 深度實戰

優化系統效能的最後一哩路

作為一名資深 Linux 系統工程師,當硬體資源已經到位,但應用程式效能仍無法突破瓶頸時,通常需要進入核心層級進行參數調優。在 Rocky Linux 9 中,sysctl 是管理核心參數的主要工具,它允許我們在不重新編譯核心的情況下,動態調整網路、記憶體與檔案系統的行為。

1. Sysctl 指令基礎

調優前的第一步是了解目前的參數設定。你可以使用以下指令列出所有可調整的參數:

# 列出所有核心參數
sysctl -a

# 查詢特定的參數 (例如網路轉發)
sysctl net.ipv4.ip_forward
2. 暫時性與永久性修改

若只是想進行測試,可以使用 -w 參數進行暫時性修改,重啟後會失效:

sudo sysctl -w net.ipv4.ip_forward=1

在生產環境中,我們必須將配置寫入檔案以實現永久生效。Rocky Linux 9 建議將自定義配置放在 /etc/sysctl.d/ 目錄下,例如建立 99-custom-tuning.conf

sudo vi /etc/sysctl.d/99-custom-tuning.conf
3. 常用調優場景範例

針對高併發 Web 伺服器,以下是常見的優化組合:

# 增加最大檔案開啟數
fs.file-max = 2097152

# 優化 TCP 連線回收速度,防止大量 TIME_WAIT 佔用埠號
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

# 增加 TCP 接收與傳送緩衝區大小,提升大檔案傳輸效能
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

# 調整 Swappiness,減少對硬碟 Swap 的依賴 (建議設為 10)
vm.swappiness = 10
4. 套用與驗證變更

修改完配置文件後,使用以下指令立即加載:

sudo sysctl -p /etc/sysctl.d/99-custom-tuning.conf
5. 維運心得與注意事項

調優核心參數是一把雙面刃。例如,過度增加 TCP 緩衝區雖然能提升速度,但也會消耗更多記憶體。建議在調整前先備份原始數值,並且一次只調整一個參數,觀察系統負載與日誌變化。特別是在 Rocky Linux 9 中,某些參數可能受到 SELinux 或防火牆的連動影響,務必進行全面測試。掌握 sysctl,能讓你從一名只會裝機的工程師,進化為具備底層診斷能力的系統專家。