Linux核心採用的是模組化技術,這樣的設計可以使得系統核心保持最小化,同時確保了核心的可擴展性和可維護性,模組化設計允許我們在需要時才將模組載入至內核,實現動態內核的調整。下面我來跟大家介紹一下有關內核的操作方法。
核心模組存放位置
Linux核心模組檔案的命名方式通常為,Centos 6.3 系統的核心模組被集中存放在/lib/modules/uname -r
/目錄下。
查看已載入系統模組
#lsmod指令用來顯示目前Linux核心模組狀態,不使用任何參數會顯示目前已經載入的所有核心模組。輸出的三列資訊分別為模組名稱、佔用記憶體大小、是否在被使用,如果第三列為0,則模組可以隨時卸載,非0則無法執行modprobe刪除模組。
[root@centos6 ~]# lsmod Module Size Used by bridge 79950 0 stp 2173 1 bridge llc 5642 2 bridge,stp fuse 66891 2 autofs4 27212 3 sunrpc 263516 1 ipt_REJECT 2351 2 nf_conntrack_ipv4 9606 1 nf_defrag_ipv4 1483 1 nf_conntrack_ipv4 iptable_filter 2793 1 ip_tables 17831 1 iptable_filter
載入與卸載系統核心
modprobe指令可以動態載入和卸載核心模組,具體指令如下:
[root@centos6 ~]# modprobe ip_vs #动态加载ip_vs模块 [root@centos6 ~]# lsmod | grep ip_vs #查看模块是否加载成功 [root@centos6 ~]# modprobe -r ip_vs #动态卸载ip_vs模块
modinfo指令也可以查看核心模組資訊:
[root@centos6 ~]# modinfo ip_vs
修改核心參數
#暫時調整核心參數
#Linux系統參數隨著系統的啟動會被寫入系統記憶體中,我們可以直接修改/proc目錄下的大量檔案來調整核心參數,而這種調整是立即生效的,以下舉幾個例子:
開啟核心路由轉送功能(透過0或1設定開關):
[root@centos6 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
開啟禁止其它主機ping本機功能:
[root@centos6 ~]# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
調整所有的行程可以開啟的檔案總數量:
[root@centos6 ~]# echo "108248" >/proc/sys/fs/file-max
永久調整核心參數
#透過上述方法直接修改/proc相關文件的方式,在系統重新啟動後不再有效,如果希望設定參數永久生效,可以修改/etc/sysctl.conf文件,可以使用Vim修改該文件:
[root@centos6 ~]# vim /etc/sysctl.conf net.ipv4.ip_forward = 1 net.ipv4.icmp_echo_ignore_all = 1 fs.file-max = 108248
注意:透過sysctl.conf檔案修改的參數不會立即生效,需要使用sysctl -p 指令設定立即生效。
以上是Linux核心模組的詳細內容。更多資訊請關注PHP中文網其他相關文章!