我想知道现在未使用的内核模块。那么,我可以禁止它们在启动时加载吗?
有没有什么方法可以查看哪些内核模块(当然,已经加载)未使用?
答案1
大多数模块仅在检测到相应硬件时才会自动加载
lsmod
显示当前加载的模块,如下(摘录):
使用的模块大小 ... psmouse 87692 0 蓝牙 180104 7 bnep parport 46562 3 lp,parport_pc,ppdev 严重_原始 13211 0 snd_ens1371 25747 4 游戏端口 19693 1 snd_ens1371 snd_ac97_codec 134826 1 snd_ens1371 joydev 17693 0 ...
然而,仅仅因为用过的为 0对于特定模块并不意味着它没有被使用!
请注意,内核会根据检测到的硬件自动加载模块,但列出的模块除外/etc/modules
,它们是“强制”加载的。
删除/列入黑名单将禁用硬件;对于具有超过 512MB RAM 的现代系统而言,没有必要
因此,如果您删除或将任何这些模块列入黑名单注意:该硬件可能不再起作用。例如,如果我删除/将 列入黑名单parport
,我的并行端口将无法工作,如果我从不使用它,那就没问题。bluetooth
等也是如此。
内核模块在现代 PC 上占用的内存相对较少,因此我唯一推荐这种手动“优化”的时候是在 RAM 较少的嵌入式系统等上。
禁用模块
从 OP 后来的评论来看,他似乎想知道加载的没用过模块名称,以禁止它们在启动时自动加载。可以通过将它们列入黑名单来实现。
- 可以找到一个很好的帮助从这个答案
- 另请参阅这个问题如何将内核模块列入黑名单?