sysctl#

sysctl 是包含在 procps-ng 內的核心參數配置工具

sysctl 是一款用於在執行期間(Runtime)檢視與修改 Linux 核心參數的工具。它透過 /proc/sys/ 虛擬檔案系統與核心進行互動,讓管理者可以在不重新編譯核心或重啟系統的情況下,調整網路堆疊、記憶體管理、安全性設定等。所有透過 sysctl 修改的參數會立即生效,但若要開機後持續生效,則需寫入 /etc/sysctl.conf 檔案中。

Install#

sysctl 包含在 procps-ng 套件內,所有主流 Linux 發行版皆預設安裝。

$ sudo apt install procps

Setting in up#


Operate#

sysctl [options] [variable[=value]]

參數範例指令說明
-asysctl -a列出全部。顯示目前系統中所有可供設定的核心參數與其數值。
-nsysctl -n kernel.hostname僅顯示值。在查詢參數時不輸出變數名稱,僅顯示該參數的值。
-wsudo sysctl -w net.ipv4.ip_forward=1寫入變數。暫時性修改核心參數(重啟後會失效)。
-psudo sysctl -p從檔案載入。重新讀取 /etc/sysctl.conf 檔案內容並套用設定。
-esysctl -e variable忽略錯誤。如果指定的參數名稱不存在,不會顯示錯誤訊息。
參數前綴功能分類詳細解釋
kernel.*系統核心控制核心整體的運作,如主機名稱、PID 上限、行程調度與安全性。
net.*網路配置調整 TCP/IP 協定棧、路由轉發、緩衝區大小與防火牆連線追蹤。
vm.*虛擬記憶體管理記憶體換頁 (Swappiness)、Dirty Page 寫入磁碟的頻率與 OOM 控制。
fs.*檔案系統設定系統可開啟的最大檔案描述符數量 (file-max) 與 Quota 限制。
dev.*裝置參數特定硬體設備的參數調整(如 CD-ROM 或 RAID 相關設定)。

Reference#

Official docs: