继续 /sys 目录,这次分享的是 /sys/module 目录~/sys/module 目录是 Linux 系统中的一个重要部分,它提供了关于内核模块的信息。内核模块是可加载的代码段,允许动态扩展内核功能而无需重新编译或重启系统。通过 /sys/module 目录,用户和开发者可以查看和管理当前加载的内核模块及其相关信息。该目录包含以已加载模块名称命名的子目录,每个子目录都代表一个内核模块,并包含该模块的相关信息。这些子目录通常包括以下几个文件和子目录:每个已加载的内核模块都有一个对应的目录,名称与模块相同。例如,如果加载了名为 nvidia 的模块,那么将有一个 /sys/module/nvidia 目录。2. /sys/module/<module_name>/parameters描述: 这个目录包含模块参数的信息。某些模块在加载时可以接受参数以修改其行为。内容: 每个参数通常是一个文件,文件名为参数名称,文件内容表示当前参数值。cat /sys/module/<module_name>/parameters/<parameter_name>
3. /sys/module/<module_name>/taint描述: 此文件指示内核模块是否导致内核进入“污染”状态。污染状态通常表明内核正在运行非开源或不受支持的代码。4. /sys/module/<module_name>/initstate内容: 内容可能是 live、unloading 或 dead,分别表示模块处于活动、卸载或未加载状态。5. /sys/module/<module_name>/refcnt描述: 表示当前引用计数,即有多少个进程或其他模块正在使用该模块。- 通过检查 `/sys/module` 目录,用户可以快速查看所有已加载的内核模块,了解系统的当前状态。
- 用户可以访问模块参数以调整模块行为。通过修改这些参数,可以优化性能或启用/禁用特定功能。
- 在进行系统调试时,查看模块的状态、引用计数和污染状态可以帮助定位问题。
- 开发人员可以利用此目录中的信息来测试和验证新开发的内核模块,确保它们正确加载并按预期工作。
- 使用 modprobe、insmod 和 rmmod 命令管理模块时,可以通过 /sys/module 验证模块的加载和状态。
- 通过调整模块参数,如网络驱动程序的缓冲区大小,可以提高系统性能。
- 检查模块的污染状态可以帮助管理员识别潜在的安全风险,确保系统运行在安全的内核环境中。