Linux如何在系統執行時修改核心引數(/proc/sys 與 /etc/sysctl.conf)
RedHat向管理員提供了非常好的方法,使我們可以在系統執行時更改核心引數,而不需要重新引導系統。這是透過/proc虛擬檔案系統實現的。/proc/sys目錄下存放著大多數的核心引數,並且設計成可以在系統執行的同時進行更改, 不過重新啟動機器後會失效,可以透過更改/proc/sys中核心引數對應的檔案 /etc/sysctl.conf 的核心引數來永久更改。下面我們以開啟核心的 ip轉發功能為例說明在系統執行時修改核心引數的兩種方法。IP轉發是指允許系統對來源和目的地都不是本機的資料包透過,RedHat預設遮蔽此功能,在 需要用本機作為、NAT等情況下需要開啟此功能。
方法一:修改/proc下核心引數檔案內容
直接修改核心引數ip_forward對應在/proc下的檔案/proc/sys/net/ipv4/ip_forward。用下面命令檢視ip_forward檔案內容:
# cat /proc/sys/net/ipv4/ip_forward
該檔案預設值0是禁止ip轉發,修改為1即開啟ip轉發功能。修改命令如下:
# echo 1 >/proc/sys/net/ipv4/ip_forward
修改過後就馬上生效,即核心已經開啟ip轉發功能。但如果系統重啟後則又恢復為預設值0,如果想永久開啟需要透過修改/etc/sysctl.conf檔案的內容來實現。
方法二.修改/etc/sysctl.conf檔案
預設sysctl.conf檔案中有一個變數是
net.ipv4.ip_forward = 0
將後面值改為1,然後儲存檔案。因為每次系統啟動時初始化指令碼/etc/rc.d/rc.sysinit會讀取/etc/sysctl.conf檔案的內容,所以修改後每次系統啟動時都會開啟ip轉發功能。但只是修改sysctl檔案不會馬上生效,如果想使修改馬上生效可以執行下面的命令:
# sysctl –p
在修改其他核心引數時可以向/etc/sysctl.conf檔案中新增相應變數即可,下面介紹/proc/sys下核心檔案與配置檔案 sysctl.conf中變數的對應關係,由於可以修改的核心引數都在/proc/sys目錄下,所以sysctl.conf的變數名省略了目錄的前面部 分(/proc/sys)。
將/proc/sys中的檔案轉換成sysctl中的變數依據下面兩個簡單的規則:
1.去掉前面部分/proc/sys
2.將檔名中的斜槓變為點
這兩條規則可以將/proc/sys中的任一檔名轉換成sysctl中的變數名。
例如:
/proc/sys/net/ipv4/ip_forward =》 net.ipv4.ip_forward
/proc/sys/kernel/hostname =》 kernel.hostname
可以使用下面命令查詢所有可修改的變數名
# sysctl –a
下面例舉幾個簡單的核心引數:
1./proc/sys/kernel/shmmax
該檔案指定核心所允許的最大共享記憶體段的大小。
2./proc/sys/kernel/threads-max
該檔案指定核心所能使用的執行緒的最大數目。
3./proc/sys/kernel/hostname
該檔案允許您配置網路主機名。
4./proc/sys/kernel/domainname
該檔案允許您配置網路域名
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-600807/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux /proc/sys/vm下核心引數解析Linux
- /proc虛擬檔案系統與系統核心引數修改方法
- linux引數之/proc/sys/vm詳解Linux
- linux引數之/proc/sys/fs詳解Linux
- linux引數之/proc/sys/kernel詳解Linux
- Linux 核心(kernel)引數 sysctl.conf , shmmaxLinuxHMM
- 如何在程式執行時動態修改它的引數(狀態)?
- linux修改系統引數Linux
- CentOS升級核心與容器執行時核心引數的關係CentOS
- Oracle中的sysctl.conf核心引數Oracle
- Linux檢視系統cpu個數、核心數、執行緒數Linux執行緒
- Linux核心引數(如kernel.shmmax)及Oracle相關引數調整(如SGA_MAX_SIZE)LinuxHMMOracle
- Linux核心引數(如kernel.shmmax)及Oracle相關引數調整LinuxHMMOracle
- 在Linux中,linux核心引數如何修改?Linux
- 在linux系統上裝oracle為什麼要修改作業系統的核心引數LinuxOracle作業系統
- 核心proc檔案系統與seq介面(3)---核心proc檔案底層結構淺析
- linux 跟oracle相關的系統核心引數?LinuxOracle
- Linux核心模組程式設計/proc 檔案系統(轉)Linux程式設計
- 雲伺服器修改Linux系統核心的引導順序伺服器Linux
- Linux系統中與記憶體相關的幾個核心引數Linux記憶體
- 修改linux的網路核心最佳化引數Linux
- linux引數修改Linux
- 檢視JVM執行時引數JVM
- linux 核心引數Linux
- Linux核心引數Linux
- 修改linux系統時間Linux
- linux修改系統時間Linux
- linux 修改系統時間Linux
- linux系統基於oracle的核心引數配置說明LinuxOracle
- 系統核心引數 設定 systemv (ipc)
- AIX作業系統核心引數配置AI作業系統
- Linux系統優化部分核心引數調優中文註釋Linux優化
- Linux核心即時入侵檢測安全增強-系統呼叫執行步驟(轉)Linux
- linux執行緒-sysconf系統變數Linux執行緒變數
- 【LINUX 學習】指定與修改掛載引數Linux
- win系統如何在mac上執行Mac
- oracle安裝linux時的核心引數解釋OracleLinux
- linux引數之/proce/sys/dev詳解Linuxdev