Linux内核采用的是模块化技术,这样保证了内核的可维护性和可扩展性。模块化设计容许咱们在须要时才将某个模块加载到内核,实现动态内核的调整。
Linux内核模块的命名方式一般为“模块名称.ko”,在CentOS 7中内核模块被集中存储在/lib/modules目录下。
对内核模块的基本操做:
1 查看内核模块:
[root@test modules]# lsmod | head
Module Size Used by
tcp_diag 693 0
inet_diag 7882 1 tcp_diag
ip_vs_wrr 1639 0
ip_vs 103551 2 ip_vs_wrr
libcrc32c 841 1 ip_vs
ip6t_REJECT 3731 2
nf_conntrack_ipv6 6588 3
nf_defrag_ipv6 16175 1 nf_conntrack_ipv6
xt_state 1064 3
输出的三列信息,分别是内核模块的名称、占用内存大小、是否被使用,若是第三列为0,则该模块能够随时卸载,不然没法被卸载。tcp
2 动态加载和卸载内核模块;
[root@test modules]# modprobe ip_vside
[root@test modules]# lsmod | grep ip_vs #查看模块是否加载成功
ip_vs_wrr 1639 0
ip_vs 103551 2 ip_vs_wrr模块化
3 动态卸载模块:
[root@test modules]# modprobe -r ip_vs设计
4 查看内核模块信息:、
[root@test modules]# modinfo ip_vs
filename: /lib/modules/2.6.32-696.el6.i686/kernel/net/netfilter/ipvs/ip_vs.ko
license: GPL
srcversion: 0FB85919D62C4255E412E5Cip
5 若是要永久性加载模块,能够这样作:
[root@test modules]# echo "modinfo ip_vs" >> /etc/rc.d/rc.local 内存