2011-01-11 60 views
8

是否有任何有用的信息,它显示了我已加载的模块的位置。Linux内核模块的位置

+1

位置?你的意思是基址存储器地址,或者是模块加载的文件? – cdhowie 2011-01-11 06:58:53

+0

模块加载的内存位置 – user567879 2011-01-11 08:25:45

回答

18

如果您想知道内核虚拟地址空间中模块的基本内存地址,可以将其作为/proc/modules中的最后一个字段;搜索模块中的问题:

$ grep '^ext3' /proc/modules 
ext3 125513 1 - Live 0xf88ce000 

如果你想知道它是从,原来的路径实际上并没有存储任何地方加载的文件路径,但你可以问modprobe再次搜索模块和显示路径使用modprobe -l

$ /sbin/modprobe -l ext3 
/lib/modules/2.6.18-194.el5PAE/kernel/fs/ext3/ext3.ko 

假设你没有在这段时间模块搜索路径改变任何东西,这应该给你原来的负载路径。

编辑: 截至2015年,信息不正确(不仅ext4不作为内核模块存在)。获取信息有关模块,包括图像与该路径:

modinfo floppy

+3

只需注意:Ubuntu 11.04上的`cat/proc/modules`为所有模块提供`Live 0x00000000`;但是`sudo cat/proc/modules`确实会显示实际的地址。 – sdaau 2013-05-31 16:30:20

2

否。当模块加载时,此信息不会保留。

1

上述信息是不正确的,为2015年

modinfo命令现在会给你有关模块的信息。例如: modinfo floppy