查看 Linux Kernel 的基本信息
在 Linux 系统中,内核是操作系统的核心组件,负责管理系统资源、硬件交互以及进程调度等关键任务,了解当前系统运行的内核版本、配置参数及模块信息,对于系统调试、性能优化和安全加固具有重要意义,以下将介绍几种常用的方法来查看 Linux 内核的相关信息。

查看内核版本信息
内核版本是最基础也是最重要的信息,通常包括主版本号、次版本号、修订号以及具体的发行版标识。
-
使用
uname命令
uname是最常用的命令之一,用于显示系统的基本信息,通过-a(all)选项可以获取完整的内核信息:uname -a
输出示例可能为:
Linux hostname 5.4.0-65-generic #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux。4.0-65-generic即为内核版本。 -
使用
/proc/version文件
/proc是一个虚拟文件系统,包含了系统的实时信息,直接查看/proc/version文件也可以获取内核版本:cat /proc/version
该命令会输出内核版本、编译时间、编译器版本及发行版信息,
Linux version 5.4.0-65-generic (buildd@lcy01-amd64-013) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021。
查看内核编译配置
内核的编译配置文件记录了内核的编译选项,例如是否启用了某个功能、模块的依赖关系等。
-
查看
/proc/config.gz
部分发行版(如 Ubuntu)会将内核配置文件压缩存储在/proc/config.gz中,可以使用zcat命令查看:zcat /proc/config.gz
如果该文件不存在,可能是内核未开启此功能,或需要手动加载配置文件。
-
使用
dmesg命令
dmesg用于显示内核环缓冲区的内容,其中可能包含内核启动时的配置信息:dmesg | grep -i "config"
该命令可以筛选出与配置相关的日志,但信息可能不够完整。

-
从源码目录查看
如果内核源码已安装,可以直接在/usr/src/linux-$(uname -r)/.config路径下查看配置文件。
查看内核模块信息
内核模块是动态加载的内核功能扩展,查看模块信息有助于了解硬件驱动和功能支持的详情。
-
使用
lsmod命令
lsmod列出当前已加载的内核模块及其依赖关系:lsmod
输出结果包含模块名、大小和依赖的其他模块。
-
查看
/proc/modules文件
/proc/modules文件与lsmod命令输出内容一致,可直接查看:cat /proc/modules
-
使用
modinfo命令
若需查看特定模块的详细信息(如作者、描述、参数等),可使用modinfo:modinfo <module_name>
查看
ext4模块的信息:modinfo ext4。
查看内核启动参数
内核启动参数定义了系统启动时的行为,例如内存分配、设备驱动选项等。
-
使用
cat /proc/cmdline
该文件直接输出内核启动时传递的参数:cat /proc/cmdline
输出示例可能为:
BOOT_IMAGE=/boot/vmlinuz-5.4.0-65-generic root=UUID=xxx ro quiet splash。
-
查看
/boot目录下的内核文件
内核启动参数通常存储在/boot目录下的grub配置文件中,grub.cfg或自定义的配置文件。
查看内核日志与调试信息
内核日志记录了系统运行时的关键事件,对于排查问题尤为重要。
-
使用
dmesg命令
dmesg默认显示内核环缓冲区的所有日志,可通过管道配合grep筛选特定信息:dmesg | grep -i "error"
结合
-T选项可以显示时间戳,便于定位问题发生的时间。 -
使用
journalctl命令(systemd 系统)
在 systemd 系统中,journalctl可以查看更详细的系统日志,包括内核日志:journalctl -k
该命令等同于
dmesg,但支持更多过滤选项,如按时间范围、服务等级等筛选。
通过以上方法,可以全面了解 Linux 内核的版本、配置、模块、启动参数及运行日志等信息,这些命令和文件是系统管理员和开发者进行内核调试、性能优化和故障排查的基础工具,掌握它们的使用,能够更高效地管理和维护 Linux 系统。