Linux sys文件系统的用处

Linux sys文件系统的用处,第1张

sys文件系统,驱动,设备模型 中提到了sys文件系统,I2C设备驱动,设备模型之间的关系。读完不禁要问/sys/文件系统搞这么复杂又啥实际的用处呢?创建很多文件和文件夹,如/sys/devices/** /sys/bus/** 目的是什么?我理解sys文件系统是内核态把自己知道的信息呈现给用户态,方便用户态的使用。

典型的例子如用户态下lscpi查看系统的pci设备,如果你运行strace lspci的话就会发现lspci正是访问了sys文件系统,非常方便的把复杂的pci设备们呈现出来。

其他例子,笔者曾经开发过内核模块,在模块中用module_param声明一些参数,内核sys文件系统就会在/sys/module/ModuleName/parameters/路径下生成一些文件,方便用户态下对内核模块的控制和干预。

一、找出内置模块列表

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

$

cat

/lib/modules/$(uname

-r)/modules.builtin

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

二、找出内置模块参数

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

modinfo:

ERROR:

Module

XXXXXX

not

found.

如果你想要查看内置模块的参数,以及它们的值,你可以在

/sys/module

下检查它们的内容。

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

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

$

ls

/sys/module/tcp_cubic/parameters

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

$

cat

/sys/module/tcp_cubic/parameters/tcp_friendliness

以上就是Linux查看内置模块的信息的方法了,这样我们就可以知道Linux安装了哪些内置模块,还可以把没用的模块删除掉,减轻系统的负担。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7291007.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存