您好,登錄后才能下訂單哦!
這篇文章給大家介紹Linux如何在系統運行過程中修改內核參數,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
由于Linux的內核參數信息都存在內存中,因此可以通過命令直接修改,并且修改后直接生效。但是,當系統重新啟動后,原來設置的參數值就會丟失,而系統每次啟動時都會自動去/etc/sysctl.conf文件中讀取內核參數,因此將內核的參數配置寫入這個文件中,是一個比較好的選擇。
首先打開/etc/sysctl.conf文件,查看如下兩行的設置值,這里是:
kernel.shmall = 2097152 kernel.shmmax = 4294967295 如果系統默認的配置比這里給出的值大,就不要修改原有配置。同時在/etc/sysctl.conf文件最后,添加以下內容:
fs.file-max = 6553600 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 262144 這里的"fs.file-max = 6553600"其實是由"fs.file-max = 512 * PROCESSES"得到的,我們指定PROCESSES的值為12800,即為"fs.file-max =512 *12800"。
sysctl.conf文件修改完畢后,接著執行"sysctl -p"使設置生效。
[root@localhost ~]# sysctl -p 常用的內核參數的含義如下。
kernel.shmmax:表示單個共享內存段的最大值,以字節為單位,此值一般為物理內存的一半,不過大一點也沒關系,這里設定的為4GB,即"4294967295/1024/1024/1024=4G"。
kernel.shmmni:表示單個共享內存段的最小值,一般為4kB,即4096bit。
kernel.shmall:表示可用共享內存的總量,單位是頁,在32位系統上一頁等于4kB,也就是4096字節。
fs.file-max:表示文件句柄的最大數量。文件句柄表示在Linux系統中可以打開的文件數量。
ip_local_port_range:表示端口的范圍,為指定的內容。
kernel.sem:表示設置的信號量,這4個參數內容大小固定。
net.core.rmem_default:表示接收套接字緩沖區大小的缺省值(以字節為單位)。
net.core.rmem_max :表示接收套接字緩沖區大小的最大值(以字節為單位)
net.core.wmem_default:表示發送套接字緩沖區大小的缺省值(以字節為單位)。
net.core.wmem_max:表示發送套接字緩沖區大小的最大值(以字節為單位)。
來源:考試大
補充:
在/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文件的內容來實現。
關于Linux如何在系統運行過程中修改內核參數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。