導讀
Linux內核采用的是模塊化技術,這樣的設計可以使得系統內核保持最小化,同時確保了內核的可擴展性和可維護性,模塊化設計允許我們在需要時才將模塊加載至內核,實現動態內核的調整。下面我給大家介紹一下有關內核的操作方法。內核模塊存放位置Linux內核模塊文件的命名方式通常為<模塊名稱.ko>,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 命令設置立即生效。
本文轉載自:http://www.linuxprobe.com/linux-kernel-modules-introduction.html
免費提供最新Linux技術教程書籍,為開源技術愛好者努力做得更多更好:http://www.linuxprobe.com/