sysctl#
sysctl 是包含在 procps-ng 內的核心參數配置工具
sysctl 是一款用於在執行期間(Runtime)檢視與修改 Linux 核心參數的工具。它透過
/proc/sys/虛擬檔案系統與核心進行互動,讓管理者可以在不重新編譯核心或重啟系統的情況下,調整網路堆疊、記憶體管理、安全性設定等。所有透過sysctl修改的參數會立即生效,但若要開機後持續生效,則需寫入/etc/sysctl.conf檔案中。
Install#
sysctl 包含在 procps-ng 套件內,所有主流 Linux 發行版皆預設安裝。
$ sudo apt install procpsSetting in up#
Operate#
sysctl [options] [variable[=value]]
| 參數 | 範例指令 | 說明 |
|---|---|---|
-a | sysctl -a | 列出全部。顯示目前系統中所有可供設定的核心參數與其數值。 |
-n | sysctl -n kernel.hostname | 僅顯示值。在查詢參數時不輸出變數名稱,僅顯示該參數的值。 |
-w | sudo sysctl -w net.ipv4.ip_forward=1 | 寫入變數。暫時性修改核心參數(重啟後會失效)。 |
-p | sudo sysctl -p | 從檔案載入。重新讀取 /etc/sysctl.conf 檔案內容並套用設定。 |
-e | sysctl -e variable | 忽略錯誤。如果指定的參數名稱不存在,不會顯示錯誤訊息。 |
| 參數前綴 | 功能分類 | 詳細解釋 |
|---|---|---|
kernel.* | 系統核心 | 控制核心整體的運作,如主機名稱、PID 上限、行程調度與安全性。 |
net.* | 網路配置 | 調整 TCP/IP 協定棧、路由轉發、緩衝區大小與防火牆連線追蹤。 |
vm.* | 虛擬記憶體 | 管理記憶體換頁 (Swappiness)、Dirty Page 寫入磁碟的頻率與 OOM 控制。 |
fs.* | 檔案系統 | 設定系統可開啟的最大檔案描述符數量 (file-max) 與 Quota 限制。 |
dev.* | 裝置參數 | 特定硬體設備的參數調整(如 CD-ROM 或 RAID 相關設定)。 |
Reference#
Official docs: