/sys/module 模块信息与 /proc/modules

2023-11-12

看到一篇关于 /proc/moduels 以及 /sys/module 相关介绍,转载一下。

http://linux.chinaunix.net/techdoc/system/2008/07/18/1018163.shtml

在编译模块的时候,如果模块加载成功。在/sys/module目录中又模块的信息。
/proc/modules包含所有模块的信息。
/sys/module
/proc/modules
/sys/module 是一个 sysfs 目录层次, 包含当前加载模块的信息. /proc/moudles 是旧式的, 那种信息的单个文件版本. 其中的条目包含了模块名, 每个模块占用的内存数量, 以及使用计数. 另外的字串追加到每行的末尾来指定标志, 对这个模块当前是活动的.
wugang@wugang-desktop:~$ cat /proc/modules
book 3200 0 - Live 0xe042e000
hello 2560 0 - Live 0xe02c3000
i915 32512 2 - Live 0xe0417000
其中 book(模块名) 3200是模块占用内存的大小。 0是模块加载计数 Live表示模块可用
0xe042e000 肯定是模块的起始地址。
在/sys/modules模块的信息(新版)
来自内核源码目录的目标文件, 描述一个模块为之建立的环境.
wugang@wugang-desktop:~$ cd /sys/module/book
wugang@wugang-desktop:/sys/module/book$ ls
holders initstate notes parameters refcnt sections srcversion
holders 持有人,是写本模块的人。但是目录为空。
initstate 记录模块活动
notes 暂且没有查到,好像是日记,有个隐藏文件,可能就是记录本模块的信息 *
parameters 使用的变量
refcnt 模块的加载计数
wugang@wugang-desktop:/sys/module/book/sections$ ls
__param __versions
其中sections目录中, __param是参数起始地址。
而sections目录中,__versions 好像和版本有关 *
这两个参数和地址有关。
srcversion BDF6D850ED985425407E440 模块版本号 像模块的ID一样
打开/proc/kallsyms目录下文件都是0字节,且打开为空白信息。
但是用cat命令,可以查看出里面的信息。
最后翻书,操作系统运行时,进程及内核信息(cpu,硬盘分区,内存信息)存放在这里。
/proc目录为伪文件系统,proc并不是真正的文件系统,它存在于内存中。
而且/sys也是存在内存中。
-r-------- 1 root root 528420864 2008-07-17 21:25 kcore
我机子上的,/proc文件目录大小几乎全部集中在那个文件中。
且无法用命令查看其中的信息.
/proc 文件系统是一种特殊的、由程序创建的文件系统,内核使用它向外界输出信息。/proc 下面的每个文件都绑定于一个内核函数,这个函数在文件被读取时,动态地生成文件的"内容",例如,/proc/modules 列出的是当前载入模块的列表。这样可以动态访问其中进程和内核信息。
Linux系统对/proc的使用很频繁。现代Linux系统中的很多工具都是通过 /proc 来获取它们的信息,例如 ps、top 和 uptime。有些设备驱动程序也通过 /proc 输出信息,你的驱动程序当然也可以这么做。因为 /proc 文件系统是动态的,所以驱动程序模块可以在任何时候添加或删除其中的文件项。
特征完全的 /proc 文件项相当复杂;在所有的这些特征当中,有一点要指出的是,这些 /proc 文件不仅可以用于读出数据,也可以用于写入数据。不过,大多数时候,/proc 文件项是只读文件。
注:*表示我不确定的问题,有问题请参考 module.h源代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

/sys/module 模块信息与 /proc/modules 的相关文章

  • 关于bash数组的几道面试笔试题—航班延误5h的郁闷都在此文

    数组作为最常使用和最基本的数据结构存在于各种编程语言中 但各语言里数组的定义 使用以及对应的属性方法各不相同 本文将从面试的角度出发 带领大家一同走近那个最熟悉又陌生的Bash Array re 1 如何定义一个包含多种数据类型元素的数组
  • Linux命令_grep & 快速查找关键字、文件名

    目录 1 语法 1 1 常用参数 2 常见用法 2 1 查找关键字 2 2 取反 2 3 额外输出关键字上下 2 行 2 4 额外输出关键字上面 1 行 2 5 额外输出关键字下面 1 行 2 6 输出关键字总行数 2 7 输出行号 2 8
  • Linux清除原有ssh密钥方法

    Linux清除原有ssh密钥方法 1 问题现象 以前在mac的终端下面使用ssh user localhost输入密码就可以连接到远程的SSH服务器 今天连接的时候老是提示如下错误 KENFORFORLIN kenforstar sudo
  • Linux实时查看文件/var/log/messages以及这个文件的问题

    耐心看完说不定有你遇到的问题 1 var log messages 首先说一下这个文件的存在 在Ubuntu系统中 这个文件你访问可能提示找不到这个文件 使用tail命令访问 name name sudo tail var log mess
  • 虚拟机VMware、linux、WSL、Dorker、Multipass选择时

    引言 家里台式机没有装完整开发环境 今天测试一个程序 需要安装个mysql 可以安装个win的mysql 附上window的mysql地址 MySQL Download MySQL Installer 也可以虚拟机里安装一个mysql 登录
  • Linux异步IO实现方案总结

    一 glibc aio 1 名称 由于是glibc提供的aio函数库 所以称为glibc aio glibc是GNU发布的libc库 即c运行库 另外网上还有其他叫法posix aio 都是指glibc提供的这套aio实现方案 2 主要接口
  • x86中vdso数据段的初始化及更新和使用

    1 vdso 数据段的初始化 1 数据段的定义 vdso 数据段由内核进行声明和定义 其中 在链接脚本 arch x86 entry vdso vdso layout lds S 里指定了 vdso 的数据段的名称和位置 相关内容如下 SE
  • Linux命令_awk & 字符串过滤

    前言 被称为 Linux 文本操作三剑客之一的 awk 不但可以处理复杂文件输出 更是一门编程语言 支持对文本每行每列精确读出 格式化输出 正则匹配 if 判断 数组 循环 目录 1 语法 1 1 选项参数 1 2 内置变量 1 3 运算符
  • diff和patch使用指南

    diff和patch是一对工具 在数学上来说 diff是对两个集合的差运算 patch是对两个集合的和运算 diff比较两个文件或文件集合的差异 并记录下来 生成一个diff文件 这也是我们常说的patch文件 即补丁文件 patch能将d
  • Ubuntu搭建Nginx服务器

    Ubuntu搭建Nginx服务器 安装Nginx 配置文件 全局配置文件 子配置文件管理 sites availables和sites enabled default配置文件 启动 停止 重启Nginx 启动 停止 重启 查询 其他设置 自
  • 推荐一款好用的redis客户端工具

    推荐一款好用的redis客户端工具 redis官方客户端 redis cli 每次都要指定连接IP与端口 连接成功后还要执行auth命令进行口令认证 这个过程比较繁琐 auth命令需要人工干预 不方便自动化执行redis命令 给大家推荐一款
  • 多线程与多进程(5)

    概念上 一 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动 是系统进行资源分配和调度的一个独立单位 二 线程是进程的一个实体 是CPU调度和分派的基本单位 它是比进程更小的能独立运行的基本单位 线程自己基本上不拥有系统资源 只
  • Shell:查看进程与对应的线程

    1 通过 ps efL grep 进程ID或名字 UID PID PPID LWP C NLWP STIME TTY TIME CMD user 228298 201990 228298 0 2 00 14 pts 0 00 00 00 t
  • Linux命令_lsof & 网络/文件监控

    官方描述 一个打开的文件可以是一个常规文件 一个目录 一个块特殊文件 一个字符特殊文件 一个执行文本引用 一个库 一个流或一个网络文件 Internet套接字 NFS文件或UNIX域套接字 可以通过路径选择文件系统中的某个文件 也可以选择文
  • Ubuntu(20.04):设置DNS

    编辑文件 etc systemd resolved conf 设置DNS 8 8 8 8 114 114 114 114 保存退出后 以sudo身份运行 systemctl restart systemd resolved systemct
  • makeinfo: command not found解决方法

    sudo apt get install texinfo
  • 通过进入单用户模式解决linux中的rc.local修改后无法启动的问题

    问题 本想将teamviewer这个软件随linux自启动 所以将其启动命令放在rc local中 但是重启后发现linux启动不起来了 系统前面都是正常启动的 就是无法进入帐户登陆界面 无法输入root帐号密码 不能登陆到系统 按了ctr
  • 运维之道

    方法一 rc local 1 由于在centos7中 etc rc d rc local的权限被降低了 所以需要赋予其可执行权 chmod x etc rc d rc local 2 赋予脚本可执行权限 假设 opt script auto
  • Linux shell中if [ $? -eq 0 ] 语句作用:判断命令是否执行成功

    shell脚本中 是指上一次命令执行的成功或者失败的状态 如果成功就是0 失败为1 语句if eq 0 是判断if语句的上一个命令执行如果成功就执行if中的语句 否则就执行else中的内容 note 使用时要注意 if后面的中括号 eq 0
  • Linux命令_sort & 排序、去重

    目录 1 语法 1 1 常用参数 2 常见用法 2 1 按数值排序 2 2 按文件大小排序 2 3 指定某一列排序 2 4 去重后排序 2 5 生成随机数 2 6 同时查看多个文件 2 7 排序后的值写入文件 可直接修改文件 1 语法 so

随机推荐

  • DVWA通关攻略之暴力破解

    目录 1 Brute Force 暴力破解 2 漏洞场景 3 实验演示 low Medium High Impossible 4 暴力破解防御 1 Brute Force 暴力破解 暴力破解或称之为穷举法 是一攻击手段 一种针对于密码的破译
  • xlsx模块 前端_web前端:nodejs的xlsx模块批量解析与导出excel数据表简单使用

    ode js是一个基于ChromeV8引擎的Javascript运行环境 Node js使用了一个事件驱动 非阻塞式I O的模型 Node是一个让JavaScript运行在服务端的开发平台 它让JavaScript成为与php Python
  • python大一知识点汇总-python知识点汇总

    1 反编译 1 1Windows下生成pyd文件 加密 Windows下安装Python扩展提示 Unable to find vcvarsall bat https www cnblogs com yyds p 7065637 html
  • Spring Security的方法授权 用户授权 Fegin拦截器的使用

    1 业务流程 方法授权要完成的是资源服务根据jwt令牌完成对方法的授权 具体流程如下 1 生成Jwt令牌时在令牌中写入用户所拥有的权限 我们给每个权限起个名字 例如某个用户拥有如下权限 course find list 课程查询 cours
  • C++中后置++运算符重载(可链式操作)

    include
  • Qt布局中自定义控件大小而不是平均分配

    qt初学者 最近在用qt做界面时 发现在一个窗口里用了布局后 窗口里所有的控件的尺寸都平均分配了 而我的实际需求是想要一个控件固定大小另一个控件随窗口自适应变化 比如我现在有一个窗口 给他设置了竖直布局 里面有两个控件A和B 我想让A控件的
  • windows pcapng文件抽出udp负载

    wireshark收下的流是pcapng格式的 需要另存为pcap格式 依赖Npcap SDK 不同的需求抽取负载的方法不同 主要是负载的起始位置不同 我的需求 UDP传输 端口为10005 绑定的IP为192 168 178 1 所以设置
  • mysql 替换语句 替换字段内容(全部或部分)

    mysql 替换语句 替换字段内容 全部或部分 将cdb pms表subject字段中的Welcom to替换成 欢迎光临 UPDATE cdb pms SET subject REPLACE subject Welcome to 欢迎光临
  • 如何开启 Microsoft Dynamics 365(OP) 部署级别跟踪

    最近服务器有问题 需要开启一下D365 CRM的部署级别跟踪 查询官方文档 部署级别跟踪通过 Windows PowerShell 命令进行设置且在 MSCRM CONFIG 数据库中进行维护 部署级别跟踪只能在拥有 Dynamics 36
  • 阿里云DataWorks开发UDF函数,自定义一周开始时间

    今天使用阿里云套件quick bi开发一个报表 需求是自定义上周六到本周五为自然周来统计周指标 常规日期函数已经不能满足此需求 需自定义UDF函数来实现 具体解决过程如下 知识储备 我们知道hive有一个日期转周函数 weekofyear
  • MySQL高级语句(二):VIEW视图、正则及常见计算

    目录 一 VIEW 视图 1 1 概念 1 2 创建 查看和删除视图 二 联集 2 1 UNION 2 1 UNION ALL 三 交集值 3 1 两表没有单独重复的行 并且确实有交集的时候用 3 2 取两个SQL语句结果的交集 且没有重复
  • 环境搭建:Win 10 + Eclipse 搭建 C/C++ 开发环境

    Win 10 Eclipse 搭建 C C 开发环境 最近想利用 Eclipse 搭建一个 C C 开发环境 本以为是件很容易的事情 毕竟很久之前也搭建过 没想到耗了半天的时间 踩了好久的坑 在此记录一下实验过程 为什么用 Eclipse
  • Connect-The-Dots靶场

    靶场下载 https www vulnhub com entry connect the dots 1 384 一 信息收集 探测存活主机 netdiscover r 192 168 16 161 24 nmap sP 192 168 16
  • spring 多租户_使用Spring Security的多租户应用程序的无状态会话

    spring 多租户 从前 我发表了一篇文章 解释了构建无状态会话的原理 巧合的是 我们再次为多租户应用程序执行同一任务 这次 我们将解决方案集成到Spring Security框架中 而不是自己构建身份验证机制 本文将解释我们的方法和实现
  • 马斯克强制员工重返办公室:每周至少40小时,不然就走人

    据称特斯拉公司首席执行官埃隆 马斯克给该司员工发了一封电子邮件 要求他们要么回来到岗上班 要么离开公司 目前这封邮件被流传出来 引起了不少人的热议 网传邮件截图如下 或许是第一封邮件未能表达出全部讯息 马斯克很快又追加了第二封内部邮件 除了
  • 指定GPU运行python程序

    一 命令行运行python程序时 1 首先查看哪些GPU空闲 nvidia smi显示当前GPU使用情况 nvidia smi 2 然后指定空闲的GPU运行python程序 CUDA VISIBLE DEVICES 0 2 3 python
  • Python Intro - ipdb debug install

    1 build and install setuptools 1 1 download setuptools setuptools 15 0 tar gz 1 2 unzip setuptools tar xf setuptools 15
  • DFX分析 包括DFM等

    DFX 面向产品生命周期各个环节的设计 可制造 可装配 可靠性 可服务 可测试等等 DFX基于并行设计的思想 在产品的概念设计和详细设计阶段就综合考虑到制造过程中的工艺要求 测试要求和组装合理性 同时还考虑到维修要求 售后服务要求和可靠性要
  • 快手小铃铛跳转微信扫描技术多少钱教学

    快手小铃铛跳转微信扫描技术多少钱教学 快手小铃铛 快手小铃铛跳转微信 小铃铛跳转微信 宝贝 平台上的变现方案你都有参加吗 光合计划手气福袋拉新活动 我以前都跟大家分享了一下 今天介绍一下磁力精英小铃铛的变现 这也是一项大的变现 点来看 这是
  • /sys/module 模块信息与 /proc/modules

    看到一篇关于 proc moduels 以及 sys module 相关介绍 转载一下 http linux chinaunix net techdoc system 2008 07 18 1018163 shtml 在编译模块的时候 如果