Linux内核模块管理

发表于:2013-3-08 09:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:丁丁历险    来源:51Testing软件测试网采编

  目录:

  内核模块路径

  查看已加载的内核

  加载与卸载内核模块

  修改内核参数

  Linux内核采用的是模块化技术,这样的设计使得系统内核可以保持最小化,同时确保了内核的可扩展性与可维护性,模块化设计允许我们在需要时才将模块加载至内核,实现动态内核调整。本文重点关注方法与思路,具体实现可以参考kernel-doc文档。

  2.9.1 内核模块存放位置

  Linux内核模块文件的命名方式通常为<模块名称.ko>,CentOS 6.3系统的内核模块被集中存放在/lib/modules/`uname -r`/[1]目录下(uname -r获得的信息为当前内核的版本号)。下面通过几个实例说明对内核模块的基本操作。

  2.9.2 查看已加载内核模块

  lsmod命令用来显示当前Linux内核模块状态,不是使用任何参数会显示当前已经加载的所有内核模块。输出的三列信息分别为模块名称、占用内存大小、是否在被使用,如果第三列为0则该模块可以随时卸载,非0则无法执行modprobe删除模块。

  1. [root@centos6 ~]# lsmod 
  2. Module                  Size  Used by 
  3. bridge                 79950   0 
  4. stp                     2173   1 bridge 
  5. llc                     5642    2 bridge,stp 
  6. fuse                   66891   2 
  7. autofs4                27212    3 
  8. sunrpc                263516   1 
  9. ipt_REJECT              2351    2 
  10. nf_conntrack_ipv4       9506     2 
  11. nf_defrag_ipv4          1483     1 nf_conntrack_ipv4 
  12. iptable_filter           2793    1 
  13. ip_tables              17831    1 iptable_filter 
  14. (部分输出省略)

  2.9.3 加载与卸载内核模块

  modprobe命令可以动态加载与卸载内核模块:

  1. [root@centos6 ~]# modprobe ip_vs     #动态加载ip_vs模块 
  2. [root@centos7 ~]# lsmod |grep ip_vs  #查看模块是否加载成功 
  3. [root@centos7 ~]# modprobe -r ip_vs  #动态卸载ip_vs模块

  modinfo命令可以查看内核模块信息:

  1. [root@centos7 ~]# modinfo ip_vs 
  2. filename:       /lib/modules/2.6.32-279.el6.x86_64/kernel/net/netfilter/ipvs/ip_vs.ko 
  3. license:        GPL 
  4. srcversion:     01386EABC060B63920E181B 
  5. depends:        ipv6,libcrc32c 
  6. vermagic:       2.6.32-279.el6.x86_64 SMP mod_unload modversions

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号