Linux怎么查看具体的内核版本更新后新增的特性清单列表
uname -r 其实只负责“报户口”,显示当前内核的版本号(比如 6.8.0-45-generic),至于内核里到底加了什么新特性,它可不管。想摸清底细,得去 kernel.org 翻最新的 ChangeLog-6.8 或者 “What’s new” 页面,还得仔细分辨哪些是主线更新,哪些是发行版
uname -r 其实只负责“报户口”,显示当前内核的版本号(比如 6.8.0-45-generic),至于内核里到底加了什么新特性,它可不管。想摸清底细,得去 kernel.org 翻最新的 ChangeLog-6.8 或者 “What’s new” 页面,还得仔细分辨哪些是主线更新,哪些是发行版打的补丁。当然,如果你手边有 /proc/config.gz,用 zcat 对比一下配置项差异,也是个直观的好办法。

uname -r 只能告诉你当前运行的内核版本号,比如 6.8.0-45-generic,但它**不包含任何特性变更说明**。要查“更新后新增了哪些特性”,必须跳出命令行即时查询逻辑,转向内核发布本身提供的最新文档和变更日志。
直接看对应版本的最新 ChangeLog 或 Release Notes
Linux 内核没有内置命令能自动列出“本版本新增特性”,因为特性清单不在系统运行时存储,而是由上游维护者在每次发布时人工整理并发布在 kernel.org 上。
- 先确认你用的是哪个内核:运行
uname -r,例如输出是6.8.0-45-generic,实际对应上游主线内核是v6.8(Ubuntu/Debian 的-45-generic是发行版补丁编号,不是主线版本) - 访问 https://www.php.cn/link/493e4d085871150617f68c8c04b6b877 —— 这是最新维护的完整变更日志,按 commit 分条列出所有改动,含新驱动、新 ABI、配置项增删等
- 更易读的入口是 kernel.org 的 “What’s new” 页面,它会汇总每个大版本(如 v6.8、v6.9)的关键新特性,比如 “支持 Intel AMX2 指令”、“引入新的 io_uring 调度策略”
区分发行版内核和主线内核的特性差异
你装的 linux-image-6.8.0-45-generic 并不等于主线 v6.8,它混入了 Ubuntu 自己的 patch(如安全 backport、硬件 enablement),这些不会出现在 kernel.org 的 ChangeLog 里。
- Ubuntu 用户应查:https://www.php.cn/link/7368a605424c892197c5fc1743f2d3b1,搜索对应版本(如 “6.8.0-45”),里面有明确标注哪些是 upstream 特性、哪些是 Ubuntu-only 补丁
- RHEL/CentOS Stream 用户要看 Red Hat 的 Kernel Release Notes,里面会写清哪些特性被 backport、哪些被禁用(比如某些新功能因稳定性被临时 disable)
- 如果你用的是自己编译的内核,
make help或翻阅源码根目录下的Documentation/子目录(如Documentation/admin-guide/)才是最准的特性说明来源
用 zcat /proc/config.gz 看当前内核实际启用了哪些特性
内核编译时启用的配置项,决定了它“能做什么”。即使主线内核支持某特性,若你的内核没打开对应 CONFIG_* 选项,它就不可用。
- 先确认 config 是否可用:
ls /proc/config.gz;如果不存在,说明内核未启用IKCONFIG_PROC编译选项,这条路走不通 - 存在则解压查看:
zcat /proc/config.gz | grep -E "^(CONFIG_[A-Z0-9_]+)=y$",这会列出所有编译进内核的功能模块 - 对比两个版本的 config(比如升级前后分别保存一份),用
diff -u old.config new.config就能看出哪些CONFIG_*从=n变成=y,即新增启用的特性
真正的挑战不在于罗列配置项,而在于精准甄别“哪个特性对我真正有用”。以 CONFIG_BPF_JIT 为例,它仅关乎 eBPF 的运行效率;而 CONFIG_INTEL_IDLE 则直接决定了 CPU 能否进入深度 C-state 节能模式。因此,切勿盲目聚焦于“新增了哪些功能”,必须将配置与你的硬件环境、业务负载以及具体的调试目标紧密结合,进行针对性筛选。

































