如何找出Linux系统中内置模块的信息

系统 Linux 系统运维
最新的Linux发行版的内核只带了相对较小的“内置模块(built-in modules)”,其余的特定硬件驱动或者自定义功能作为“可加载模块”来让你有选择地加载或卸载。我想要知道Linux系统中内核内置的模块,以及每个模块有哪些参数。有什么方法可以得到内置模块和设备驱动的列表,以及它们的详细信息呢?

[[154710]]

提问:我想要知道Linux系统中内核内置的模块,以及每个模块有哪些参数。有什么方法可以得到内置模块和设备驱动的列表,以及它们的详细信息呢?

现代Linux内核正在随着时间变化而迅速增长,以支持大量的硬件、文件系统和网络功能。在此期间,“可加载模块(loadable kernel modules,[LKM])”的引入防止内核变得越来越臃肿,以及在不同的环境中灵活地扩展功能及硬件支持,而不必重新构建内核。

***的Linux发行版的内核只带了相对较小的“内置模块(built-in modules)”,其余的特定硬件驱动或者自定义功能作为“可加载模块”来让你有选择地加载或卸载。

内置模块被静态地编译进了内核。不像可加载内核模块可以动态地使用modprobeinsmodrmmodmodinfo或者lsmod等命令地加载、卸载、查询模块,内置的模块总是在启动时就加载进了内核,不会被这些命令管理。

找出内置模块列表

要得到内置模块列表,运行下面的命令。

  1. $ cat /lib/modules/$(uname -r)/modules.builtin

你也可以用下面的命令来查看有哪些内置模块:

找出内置模块参数

每个内核模块无论是内置的还是可加载的都有一系列的参数。对于可加载模块,modinfo命令可以显示它们的参数信息。然而这个命令对内置模块没有用。你会得到下面的错误。

  1. modinfo: ERROR: Module XXXXXX not found.

如果你想要查看内置模块的参数,以及它们的值,你可以在 /sys/module 下检查它们的内容。

在 /sys/module目录下,你可以找到内核模块(包含内置和可加载的)命名的子目录。进入每个模块目录,这里有个“parameters”目录,列出了这个模块所有的参数。

比如你要找出tcp_cubic(内核默认的TCP实现)模块的参数。你可以这么做:

  1. $ ls /sys/module/tcp_cubic/parameters

接着阅读这个文件查看每个参数的值。

  1. $ cat /sys/module/tcp_cubic/parameters/tcp_friendliness

via: http://ask.xmodulo.com/find-information-builtin-kernel-modules-linux.html

作者:Dan Nanni 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

责任编辑:火凤凰 来源: Linux中国
相关推荐

2019-12-16 10:43:38

Linux内存消耗进程

2021-01-04 05:49:34

VMwareLinux虚拟机

2019-11-06 15:58:54

Linux内存消耗进程

2019-12-16 09:10:38

Linux中央处理器进程

2019-12-16 11:00:04

LinuxCPU进程

2016-12-08 12:47:05

Linux在线主机IP地址

2017-12-18 10:12:48

LinuxShell命令

2017-01-06 22:08:32

LinuxShell命令

2018-06-20 11:54:54

2022-11-25 16:27:07

应用开发鸿蒙

2012-12-13 13:46:08

2017-01-13 15:29:06

Linux二进制命令方法

2019-08-23 08:54:32

LinuxMySQLBSD

2020-10-13 08:53:04

算法最小值

2015-12-21 13:34:31

LinuxGPU显卡硬件

2013-03-27 10:32:22

2015-03-30 11:34:19

LinuxFSlint

2019-06-19 13:50:21

NeofetchLinux

2012-05-15 13:55:18

Linux备份

2021-05-28 10:10:05

LinuxCPU机器学习
点赞
收藏

51CTO技术栈公众号