如何在系統執行過程中修改核心引數

2021-04-18 15:04:23 字數 1596 閱讀 6197

linux向管理員提供了非常好的方法,使我們可以在系統執行時更改核心引數,而不需要重新引導系統。這是通過/proc虛擬檔案系統實現的。/proc/sys目 錄下存放著大多數的核心引數,並且設計成可以在系統執行的同時進行更改。下面我們以開啟核心的 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

該檔案允許您配置網路網域名稱。

如何在儲存過程中執行DTS包

資料轉換服務 dts 在管理和開發的多種領域都有會涉及 dts 資料倉儲 將資料從原始的處理系統和 中提取出來以供報表使用 建立olap 將大量資料從文字檔案或其它非資料庫格式的檔案中拷貝到資料庫 生成microsoftoffice文件報表 使用distributedtransactioncoord...

如何在QTP執行過程中遮蔽滑鼠

在執行qtp指令碼的過程中,有些操作可能是對滑鼠 鍵盤敏感的,需要在qtp執行過程中遮蔽滑鼠或鍵盤輸入。這是可用systemutil物件的blockinput方法,如下 所示 systemutil.blockinput browser welcome mercury tours page welco...

專案執行過程中修改 properties檔案問題

showou 要修改為的值 public void setattribute string value try catch filenotfoundexception e catch ioexception e finally if in null catch ioexception e 注意每次修...