/proc/modules 中模块实例的含义

Rav*_*avi 2 linux module linux-kernel

我曾经cat /proc/modules列出模块的详细信息。

模块下方显示有 4 个实例:

poe_isr 3046 4 - Live 0xc37e1000 (O)
Run Code Online (Sandbox Code Playgroud)

这是什么意思?我如何查看这些实例的使用位置?

下一个模块显示为 0 个实例和 Live:

adcmods 1565 0 - Live 0xc37dd000 (P)
Run Code Online (Sandbox Code Playgroud)

这是什么意思?模块未加载但仍处于活动状态?

Tsy*_*rev 5

不知道为什么一些描述(比如这个)将/proc/modules输出的第三列命名为“实例数”,但这实际上是一个模块的引用计数

如果模块具有正(非零)引用计数,则无法卸载/sbin/rmmod(命令打印“错误:模块 X 正在使用中”)。

如果某些模块的引用由其他模块获得,则这些模块的逗号分隔列表将打印为第 4 列(而不是-字符)。

如果模块的引用是由非模块“对象”获得的,则应使用其他方法列出这些对象。例如,文件系统模块通常由文件系统的mounts引用,因此需要检查/usr/bin/mount.