7
18
2014
0

查看模块相关信息

本文借鉴博客如下:

http://www.cppblog.com/deercoder/articles/109274.html

背景:

     最近在研究将文件系统模块化,将模块化的文件系统插入到内核中后想看看有关自己模块的信息。于是有了本文。

 

知识点:

      在成功插入模块后,即ismod *.ko成功后。在/sys/module和/proc/modules中都包含模块信息

1./proc/modules中模块信息

输入指令cat /proc/modules,显示如下:

root@f303server:/sys/module# cat /proc/modules 
ext2 68558 0 - Live 0xffffffffa01fd000
a_ext4 356624 1 - Live 0xffffffffa01a3000
psmouse 60571 0 - Live 0xffffffffa0192000
joydev 10686 0 - Live 0xffffffffa0189000
serio_raw 4871 0 - Live 0xffffffffa0185000
dcdbas 6958 0 - Live 0xffffffffa017d000
mac_hid 3798 0 - Live 0xffffffffa0019000
ext3 132950 1 - Live 0xffffffffa0151000
lp 10051 0 - Live 0xffffffffa0148000
jbd 53663 1 ext3, Live 0xffffffffa0131000
parport 39053 1 lp, Live 0xffffffffa011f000
ext4 354498 2 - Live 0xffffffffa00b2000
mbcache 8015 4 ext2,a_ext4,ext3,ext4, Live 0xffffffffa0015000
jbd2 87538 2 a_ext4,ext4, Live 0xffffffffa0090000
mptsas 52883 4 - Live 0xffffffffa0081000
mptscsih 35312 1 mptsas, Live 0xffffffffa0076000
usbhid 41734 0 - Live 0xffffffffa0069000
mptbase 92767 2 mptsas,mptscsih, Live 0xffffffffa0049000
hid 81741 1 usbhid, Live 0xffffffffa002d000
scsi_transport_sas 35238 1 mptsas, Live 0xffffffffa001b000
bnx2 75653 0 - Live 0xffffffffa0000000

下面以:ext2 68558 0 - Live 0xffffffffa01fd000这一行为例,说明各列含义

其中ext2(模块名) 68558(占用内存大小) 0(引用该模块基数) - Live(模块可用) 0xffffffffa01fd000(模块的起始地址)

 

2./sys/modules中模块的信息

输入

cd /sys/modules

ls

可以看到所有对应的模块

 

 

打开其中一个模块,以ext2为例,可以看到包含如下内容

root@f303server:/sys/module# cd ext2
root@f303server:/sys/module/ext2# ls
holders  initstate  notes  refcnt  sections  srcversion
 
其中holders notes sections为目录
holders:  持有人,写本模块的人,但目录为空

inistate:记录模块活动

notes :貌似记录本模块信息

refcnt: 引用模块数

sections:

srcversion: 模块版本号,类似于模块ID

 

Category: Linux | Tags: 模块

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com