Linux內核模塊


導讀 Linux內核采用的是模塊化技術,這樣的設計可以使得系統內核保持最小化,同時確保了內核的可擴展性和可維護性,模塊化設計允許我們在需要時才將模塊加載至內核,實現動態內核的調整。下面我給大家介紹一下有關內核的操作方法。

Linux 99

內核模塊存放位置

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 命令設置立即生效。

免費提供最新Linux技術教程書籍,為開源技術愛好者努力做得更多更好:https://www.linuxprobe.com/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM