Linux核心模組,linux核心
| 導讀 |
Linux核心採用的是模組化技術,這樣的設計可以使得系統核心保持最小化,同時確保了核心的可擴充性和可維護性,模組化設計允許我們在需要時才將模組載入至核心,實現動態核心的調整。下面我給大家介紹一下有關核心的操作方法。 |
核心模組存放位置
Linux核心模組檔案的命名方式通常為<模組名稱.ko>,Centos 6.3 系統的核心模組被集中存放在/lib/modules/`uname -r`/目錄下。
查看已載入系統模組
lsmod命令用來顯示當前Linux核心模組狀態,不使用任何參數會顯示當前已經載入的所有核心模組。輸出的三列資訊分別為模組名稱、佔用記憶體大小、是否在被使用,如果第三列為0,則該模組可以隨時卸載,非0則無法執行modprobe刪除模組。
[root@centos6 ~]# lsmodModule Size Used bybridge 79950 0stp 2173 1 bridgellc 5642 2 bridge,stpfuse 66891 2autofs4 27212 3sunrpc 263516 1ipt_REJECT 2351 2nf_conntrack_ipv4 9606 1nf_defrag_ipv4 1483 1 nf_conntrack_ipv4iptable_filter 2793 1ip_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.confnet.ipv4.ip_forward = 1net.ipv4.icmp_echo_ignore_all = 1fs.file-max = 108248
注意:通過sysctl.conf檔案修改的參數不會立即生效,需要使用sysctl -p 命令設定立即生效。