Linux如何在系統運行過程中修改核心參數

來源:互聯網
上載者:User

  RedHat向管理員提供了非常好的方法,使我們可以在系統運行時更改核心參數,而不需要重新引導系統。這是通過/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

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.