linux核心採用的是模組化技術,這樣的設計可以使得系統核心保持最小化,同時確保了核心的可擴充套件性和可維護性,模組化設計允許我們在需要時才將模組載入至核心,實現動態核心的調整。下面我給大家介紹一下有關核心的操作方法。
核心模組存放位置
linux核心模組檔案的命名方式通常為《模組名稱.ko>,centos 6.3 系統的核心模組被集中存放在/lib/modules/`uname -r`/目錄下。
檢視已載入系統模組
lsmod命令用來顯示當前linux核心模組狀態,不使用任何引數會顯示當前已經載入的所有核心模組。輸出的三列資訊分別為模組名稱、占用記憶體大小、是否在被使用,如果第三列為0,則該模組可以隨時解除安裝,非0則無法執行modprobe刪除模組。
[root@centos6 ~]# lsmod載入和解除安裝系統核心modprobe命令可以動態載入和解除安裝核心模組,具體命令如下: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
[root@centos6 ~]# modprobe ip_vs #動態載入ip_vs模組modinfo命令也可以檢視核心模組資訊:[root@centos6 ~]# lsmod | grep ip_vs #檢視模組是否載入成功
[root@centos6 ~]# modprobe -r ip_vs #動態解除安裝ip_vs模組
[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永久調整核心引數
[root@centos6 ~]# vim /etc/sysctl.conf注意:通過sysctl.conf檔案修改的引數不會立即生效,需要使用sysctl -p 命令設定立即生效。net.ipv4.ip_forward = 1
net.ipv4.icmp_echo_ignore_all = 1
fs.file-max = 108248
Linux核心模組
核心模組 在整個啟動的過程中,是否能成功的驅動我們主句的硬體裝置,是核心完成的工作,而核心一般都是壓縮文件,在使用之前核心之前必須要將核心減壓到的記憶體中。為了應對日新月異的硬體,目前核心都具有可讀取模組化驅動程式的功能,也就是所謂的 modules模組化 所謂模組化。核心與核心模組放在 核心 bo...
Linux核心模組
1 核心模組註冊登出 塊載入函式有返回值,模組解除安裝函式無返回值。兩者都是無參函式,載入函式用 init修飾,解除安裝函式用 exit修飾。define init attribute section init.text define exit atrribute section exit,text...
Linux 核心模組
linux 核心模組程式結構 1 模組載入函式 2 模組解除安裝函式 3 模組許可證宣告 4 模組引數 5 模組匯出符號 6 模組作者等資訊宣告 模組載入函式 一般以 init 標識 在 linux 中,所有標識為 init 的函式如果直接編譯進核心,成為核心映象的一部分,在連線的時候都會放在 in...