这几天我一直在想它到底是怎么工作的。我们可以使用sysctl或echo boolen 1> /proc/sys/module/exactParameter设置内核运行时参数,但在/sys/modules/module/parameters/parameter中也可以设置值。
/proc/sys/中的模块参数是否仅与内核中的硬代码有关?或者也可能有可加载内核模块的参数?
在加载到运行内核之后,LKM会在/sys/modules/module/paraeter/params中显示它们的参数。这是否意味着,编译到内核中的模块没有参数?
两个目录之间的区别是什么。
发布于 2013-09-01 20:21:23
除了/proc/sys和/sys都是内核接口和名称的重合之外,两者之间没有什么关系。
/proc/sys是赛克特的接口,它是内核配置参数。读取或修改/proc/sys/foo/bar相当于获取或设置foo.bar系统。Sysctl值是按语义类别组织的,它们与内核的结构没有本质的联系。许多sysctl值都是存在于每个Linux系统上的设置,不管它们是在什么驱动程序或特性中编译的;有些值与可选特性(例如某些网络协议)有关,但与特定的硬件设备无关。
顾名思义,/sys/module是内核模块的接口。每个目录对应于一个内核模块。您可以通过写入foo来读取,有时还可以修改模块/sys/module/foo/parameters/*的参数。
加载在内核中的组件从内核命令行读取它们的参数。这些参数不能在运行时设置(至少不能通过像/sys/module这样的自动生成接口来设置:组件可以为此公开一个自定义接口)。
https://unix.stackexchange.com/questions/89017
复制相似问题