uname -r 实际上只负责“报版本”,用于显示当前正在运行的 Linux 内核版本号(例如 6.8.0-45-generic),但它并不会告诉你这个内核版本更新后到底新增了哪些功能或特性。想进一步查看 Linux 内核版本更新内容,就需要前往 kernel.org 查阅对应版本的 ChangeLog-6.8 或 “What’s new” 页面,同时还要注意区分哪些属于主线内核更新,哪些是发行版额外打入的补丁。如果你的系统中存在 /proc/config.gz,使用 zcat 对比配置项差异,也是一种快速了解内核新增功能是否已启用的直观方法。

uname -r 只能告诉你当前运行的是哪个 Linux 内核版本,例如 6.8.0-45-generic,但它**并不包含任何内核新增特性、功能变化或更新说明**。如果你想知道“升级到这个内核版本后新增了哪些特性”,就不能只停留在命令行查询层面,而需要结合 Linux 内核官方发布文档、Release Notes 和变更日志来判断。
直接看对应版本的最新 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 变化、配置项新增或移除等信息
- 如果你更关注“Linux 内核更新后新增了哪些重要功能”,更适合阅读 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)、硬件支持增强(hardware enablement)等,而这些内容未必会直接出现在 kernel.org 的官方 ChangeLog 中。
- Ubuntu 用户建议查询:https://www.php.cn/link/7368a605424c892197c5fc1743f2d3b1,搜索对应内核版本(如 “6.8.0-45”),页面中通常会明确标注哪些属于 upstream 主线特性,哪些是 Ubuntu 额外引入的专属补丁
- RHEL/CentOS Stream 用户则应重点查看 Red Hat 的 Kernel Release Notes,这里通常会说明哪些新特性被 backport、哪些功能被关闭,以及某些特性是否因稳定性原因被临时 disable
- 如果你使用的是自行编译的 Linux 内核,那么
make help以及源码根目录下的Documentation/子目录(例如Documentation/admin-guide/)往往才是最准确、最完整的内核功能说明来源
用 zcat /proc/config.gz 看当前内核实际启用了哪些特性
内核在编译时启用了哪些配置项,直接决定了它“实际支持什么功能”。即便主线 Linux 内核已经支持某项新特性,如果你的内核没有开启相应的 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,这通常意味着新启用了相应内核功能
真正的重点并不只是罗列 Linux 内核新增配置项,而是判断“这些新增特性是否对你的实际场景有价值”。例如,CONFIG_BPF_JIT 主要影响 eBPF 的执行效率;而 CONFIG_INTEL_IDLE 则会直接关系到 CPU 是否能够进入更深层的 C-state 节能模式。因此,不要只机械地关注“内核更新新增了什么功能”,更应结合你的硬件平台、业务负载、性能调优需求以及排错目标,去有针对性地筛选和分析真正重要的内核新特性。
