linux查看模块命令
linux查看模块命令详细介绍
在 Linux 系统中,有不少命令可用于查看模块信息,下面为你详细介绍:
1.
lsmod
lsmod 命令的作用是列出当前已加载到内核的所有模块。它读取 /proc/modules 文件并展示结果。
bash
lsmod
示例输出如下:
plaintext
Module Size Used bynvidia_drm 65536 1
nvidia_modeset 1228800 1 nvidia_drm
nvidia 40509440 1 nvidia_modeset
...
输出结果包含三列,分别是模块名、模块大小以及被其他模块使用的次数。
2.
modinfo
modinfo 命令可用于查看特定内核模块的详细信息,像模块描述、作者、依赖关系等。
bash
modinfo module_name
例如,查看 nvidia 模块的信息:
bash
modinfo nvidia
示例输出如下:
plaintext
filename: /lib/modules/5.15.0-76-generic/updates/dkms/nvidia.koversion: 535.104.05
supported: external
license: NVIDIA
description: NVIDIA device driver
author: NVIDIA Corporation
srcversion: 27054437E61380083
alias: pci:v000010DEd*sv*sd*bc03sc00i00*
...
3.
dmesg
dmesg 命令能显示内核环缓冲区的信息,其中包含模块加载和卸载时的相关信息。
bash
module_name
例如,查看 nvidia 模块的加载信息:
bash
nvidia
示例输出如下:
plaintext
[ 3.875453] nvidia: loading out-of-tree module taints kernel.[ 3.875465] nvidia: module license 'NVIDIA' taints kernel.
[ 3.907136] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[ 3.907312] nvidia-nvlink: Nvlink Core is being initialized, major device number 241
4.
lspci
lspci 命令用于显示所有 PCI 总线设备或连接到该总线的设备信息,结合 grep 可以筛选出特定设备使用的模块。
bash
lspci device_name
例如,查看显卡设备信息:
bash
lspci VGA
示例输出如下:
plaintext
01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)
之后可通过 lspci -k 查看设备使用的内核模块:
bash
lspci device_name
例如:
bash
lspci VGA
示例输出如下:
plaintext
01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)Subsystem: eVga.com. Corp. GP104 [GeForce GTX 1080]
Kernel driver in use: nvidia
91234:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1) Subsystem: eVga.com. Corp. GP104 [GeForce GTX 1080] Kernel driver in use: nvidia
这些命令能帮助你在 Linux 系统中查看和管理内核模块。