Alibaba Cloud Linux 4(简称 Alinux 4)是阿里云打造的 Linux 服务器操作系统发行版,基于龙蜥社区 Anolis OS 23 版本进行开发和深度定制。本文介绍 Alinux 4 相对 Alinux 3 在产品定位、模块/组件、内核能力、软件包等方面的主要区别,供 Alinux 3 用户在评估升级、做兼容性分析和迁移规划时参考。
产品定位与推荐场景
Alinux 4 不再追求 CentOS 兼容替代,而是采用全新的 6.6 版本内核并对核心工具链版本进行重新选型。其设计目标是面向异构算力支持、AI 算力优化、AI 运维可观测以及系统智能进化等方向。
产品代际定位对比
维度 | Alibaba Cloud Linux 3 | Alibaba Cloud Linux 4 |
发布年份 | 2021 年 4 月 | 2025 年 7 月 |
上游基础 | Anolis OS 8 | Anolis OS 23 |
CentOS 兼容 | 核心目标 | 不再承载 CentOS 兼容替代 |
核心动力 | 替代 CentOS、阿里云 8 代实例使能 | AI 驱动、异构算力、智能进化 |
内核版本 | 5.10(ANCK) | 6.6(ANCK) |
包管理 | dnf(兼容 yum) | dnf(同 Alinux 3,新一代仓库结构) |
典型组件名 | al8 | alnx4 |
推荐使用场景
Alinux 4 推荐在以下场景使用:
Agent 负载场景:支持作为 Agent Runtime,提供安全防护及 Token 节省能力,全面支持阿里云及开源 Sandbox 框架运行环境的部署和调优,在启动速度和负载密度有独特优势。
9 代及以后通算实例:可提供内核级的性能优化和特性使能。
训练及推理场景:可提供训练及推理套件,实现训推场景的优化加速。
国产实例类型:符合安全合规的要求,提供长达 13 年的生命周期维护。
全量组件对比情况
经过对 Alinux 3(3.13 版本基线)与 Alinux 4(4.0.2 版本基线)组件比对,相同组件占比约 58%。整体差异分布如下:
组件情况 | 组件个数 | 说明 |
Alinux 4 继承 | 1706 | 其中 1666 个组件完全相同,剩余 40 个为更换了组件名/提供者的同等能力组件。 |
Alinux 4 不再提供 | 1191 | 较多为多语言支持和 modules 包。 |
Alinux 4 新增 | 1109 | 多为产品策略和生态范围支持。其中 257 个为 perl 语言支持包,427 个为 python 语言支持包,40 个为 ocaml 支持和 gcc 多版本支持。 |
全量组件对比情况见Alinux3 和 Alinux4 全量组件对比清单.xlsx。
模块/组件版本区别
系统功能变化说明
能力 | Alibaba Cloud Linux 3 | Alibaba Cloud Linux 4 | 差异说明 |
包管理 | dnf-4.7.0 | dnf-4.16.2 | 使用上无差别:同时提供 dnf 和 yum。高版本在安全、签名验证和性能方面进行了优化。 |
网络配置 | NetworkManager-1.40.16 | NetworkManager-1.44.2 | 默认增强容器网络与 WireGuard、DNS-over-TLS。 |
网络数据包过滤 | nftables-1.0.4 | nftables-1.0.8 | 进一步收敛 iptables 兼容层。 |
默认容器运行时 | podman-4.9.4 | moby-28.3.3 / containerd-1.7.29 | 更换 docker 提供者,同时提供可用的 containerd 组件。 |
Java 发行版 | OpenJDK 1.8/11/17/21(社区版) | Alibaba Dragonwell 1.8/11/17/21/25 | 额外提供 25 版本的 JDK,默认通过 Dragonwell 实现 OpenJDK 加速。 |
默认 Python | python3.6(额外支持 3.11) | python3.11 | 3.11 具有明显的系统优化,包括 specializing adaptive interpreter、内联缓存等。 |
OpenSSL | OpenSSL 1.1.1(兼容旧 ABI) | OpenSSL 3.0.12(默认)/ OpenSSL 1.1.1q(同时提供) | OpenSSL 3.0.12 提供 FIPS 140-3、provider 架构、TLS 1.3 优先。 |
Cgroup | 默认启用 Cgroup V1 | 默认启用 Cgroup V2 | 依赖 cgroup v1 的工具需适配。 |
注意:Alinux 4 默认提供cgroup v2与OpenSSL 3.0,使用旧版本 OpenSSL ABI(如libssl.so.1.1)的二进制需要重新编译或安装兼容包;依赖 cgroup v1 路径的容器编排或监控工具需适配为 cgroup v2 统一层级。
组件升级说明
组件 | 类别 | Alinux 3 | Alinux 4 | 主要变更点 |
kernel | 内核 | 5.10 | 6.6 | ANCK 6.6 引入 io_uring 增强、ext4 性能优化、large folio、MGLRU、EEVDF/sched_ext、cgroup v2 cpuset 等大量上游能力。 |
glibc | 基础 | 2.32 | 2.38 | 支持 Linux 5.8–6.3 新系统调用;优化 ARM64/RISC-V;malloc 增强;VDSO 加速。 |
libc++ | 基础 | 15.0.7 | 17.0.6 | C++20 优化、C++23 引入新功能;容器与格式化优化。 |
libstdc++ | 基础 | 10.2.1 | 12.3.0 | C++20 优化、C++23 初期支持;线程安全调整。 |
libvirt | 虚拟化 | 8.0.0 | 9.10.0 | 虚拟化栈整体升级,对接更新 qemu。 |
qemu | 虚拟化 | 6.2.0 | 8.2.0 | 支持新硬件平台与 virtio 增强;包名由 qemu-kvm 改为 qemu。 |
GCC | 编译器 | 8.5 | 12.3 | C++20/23 完善、static analyzer、新 ISA 指令集。 |
systemd | 系统管理 | 239 | 254 | 统一 cgroup v2、Portable Services、Credential、BPF、OOM Policy 等。 |
OpenSSL | 安全 | 1.1.1 | 3.0.12 | FIPS 140-3、provider 架构、TLS 1.3 优先。 |
containerd | 容器 | 未提供 | 1.7.29 | 新增独立 containerd 组件。 |
moby | 容器 | 未提供(仅 podman) | 28.3.3 | 新增 moby(Docker 开源引擎)。 |
内核新增重点特性
存储
io_uring
相比 5.10,6.6 内核在异步 IO 框架 io_uring 上持续增强:
特性 | 说明 |
Async buffered writes | 在 fast path 增加 buffered 写支持,xfs 测试 ~3x 性能提升。 |
Task work lock contention | spin lock 改为 lockless list,多线程 task_work_add 性能提升约 20%。 |
Multishot completion batching | multishot 完成事件复用 IO_URING_F_COMPLETE_DEFER,RPS 由 8.3 M/s 提升到 19.3 M/s(~2.3x)。 |
SQ/CQ caching 优化 | io_uring nop micro benchmark 提升约 9%。 |
新增能力 | multishot accept/recvmsg/timeout、网络零拷贝、passthrough 直通、用户态块驱动 ublk 等。 |
ext4
覆盖块分配、inode 预分配、并发与锁、可扩展性等多方面:
特性 | 说明 |
Improve delalloc buffer write performance | 移除 delalloc 写流程中不必要的 journal 操作,UnixBench 提升约 73%。 |
Speedup orphan file handling | 引入 orphan file 替代 ondisk linked list,128 线程 micro benchmark 操作时间下降约 40%。 |
Improve fast_commit performance | ext4_fc_commit_dentry_updates 由 O(n²) 优化为 O(n),fs_mark 多目录小文件场景提升约 171x。 |
DIO 共享 inode lock 覆盖预分配块 | 预分配块覆盖写改为 i_data_sem 保护,4k 多线程 DIO 写性能约 4x 提升。 |
Inode preallocation list → rbtree | 查找复杂度 O(n) → O(log n),sparse 写入提升 1x ~ 2x。 |
Speed up delalloc append write | 追加写场景延迟 i_disksize 更新,32 线程并发追加约 34% 提升;Kafka 2.6.2 实测吞吐 +10%。 |
Enable large folio for regular files | 基于 buffer head 在 mballoc/write_begin/writeback 上做 folio 改造,buffer IO 读写最多约 1.2x 提升。 |
内存
内存子系统覆盖成本优化、大内存管理、软硬协同等方向。
内存成本优化
特性 | 说明 |
HVO(HugeTLB vmemmap optimization) | 释放 hugetlb 大页中不使用的 tail page struct,1T 大小的 1G hugetlb 可节省 16G 内存。 |
DAMON(Data Access Monitor) | 基于区间采样和自适应区间调整,主动回收冷内存。 |
MGLRU 冷内存回收 | 更轻量级的内存 aging 与冷内存主动回收方案。 |
tmpfs 零页填充 | tmpfs 稀疏文件零页复用,避免占用额外物理内存。 |
大内存管理(Large folio + Lock Scalability)
AI 与虚拟化大内存场景下,6.6 内核默认开启 Large folio,支持 ARM contiguous PTE、AMD THP,降低 TLB miss;彻底解决 5.10 时代仅能 workaround 的 mmap_lock scalability 问题。
内存软硬协同优化
特性 | 说明 |
Memory tiering | 支持异构 CXL/PMEM 内存自动冷热分层管理。 |
Migration batch TLB flushing | 批量化 TLB IPI,优化迁移路径性能。 |
NUMA balancing 支持大页 | large folio 也参与 NUMA balance,访问本地大页提升业务性能。 |
代码段多副本(duptext) | 将远程节点代码段复制到本地节点,避免跨 NUMA 访问。 |
调度
特性 | 说明 |
EEVDF | 基于虚拟截止时间的调度,相比 CFS 在保证吞吐不变的同时,让延迟敏感任务响应更快。 |
sched_ext | 新增 ext 调度类,通过 eBPF 程序实现自定义调度策略,针对不同业务场景定制最优调度器。 |
PSI 增强 | per cgroup PSI 统计开关、irq/softirq 负载统计、非特权 poll psi event。 |
cgroup v2 cpuset 隔离 | 新增 isolated 模式(cpuset 范围内不做负载均衡,适合 DPDK 等独占场景)。 |
Group Identity 2.0 | 基于 CFS/EEVDF 的细粒度调度优化,简单高效规避超线程争抢。 |
Group Balance 2.0 | 解决 CPU share 化模式下亲和域问题与 cache/TLB 竞争干扰的动态调度方案。 |
差异化组件归类分析
Alinux 4 不再提供的组件
共 1191 个组件,按引入原因分布如下:
190 个多语言格式支持包:Alinux 4 仅支持中英文,其他语言暂不支持。
108 个 Module 包(DNF Modular):Alinux 4 目前未支持 module 包形式。
36 个驱动组件(kmod-*):Alinux 4 暂未提供,正在商议后续计划。
30 个 mingw 编译工具链:Alinux 4 未提供 mingw 交叉编译环境。
42 个 gcc 多版本:gcc-toolset-12/13 等;Alinux 4 已切换默认 gcc 版本。
34 个 OCaml 支持:Alinux 4 未引入 OCaml 生态。
9 个 Red Hat 产品组件:Alinux 4 为自研产品,无需引入。
806 个其他应用组件:尚未明确分类,需应用侧逐项确认。
升级建议:业务方在迁移前请使用 rpm -qa 导出现有 Alinux 3 实例的软件包清单,与上述类别对比;如依赖 module 包、gcc 多版本工具链、mingw、OCaml、kmod-*、Red Hat 产品组件,需提前评估替代方案。Alinux 4 上发生变更的组件
共 40 个组件在 Alinux 4 中以等价能力但不同包名/提供者形式存在。常见替换关系如下:
原 Alinux 3 组件 | Alinux 4 等价提供者 | 说明 |
SDL 1.2.15 | sdl12-compat 1.2.68 | SDL 1.2 → SDL 2 兼容层 |
device-mapper-multipath 0.8.4 | multipath-tools 0.9.5 | 提供者更换 |
fipscheck 1.5.0 | libkcapi-fipscheck 1.4.0 | FIPS 校验改用 libkcapi |
glassfish-annotation-api / servlet-api | jakarta-annotations / jakarta-servlet | JavaEE → Jakarta EE 命名空间迁移 |
hardlink 1.3 | util-linux-core 2.39.1 | 合并到 util-linux-core |
java-1.8.0/11/17-openjdk | java-1.8.0/11/17-alibaba-dragonwell | 默认 OpenJDK 替换为 Dragonwell |
python3.11-* 系列(17 项) | python3-* 对应包 | 包名归一 |
qemu-kvm 6.2.0 | qemu 8.2.0 | 包名由 qemu-kvm 改为 qemu |
shadow-utils 4.6 | shadow 4.14.3 | 包名调整 |
system-lsb 4.1 | lsb-release 3.2 | 提供者变更 |
Alinux 4 新增独有组件(1109 项)
Alinux 4 相对 Alinux 3 新增的独有组件主要分布于以下方向:
427 个 Python 语言生态包:围绕 python 3.11 默认运行时新增的 python3-* 模块。
257 个 Perl 语言生态包:配合 perl 5.36 升级新增的 CPAN 模块打包。
40 个 OCaml 与 gcc 多版本支持:通过其他途径提供新版工具链。
385 个其它生态/产品策略包:来自 Anolis 23 / 龙蜥社区生态扩展。
兼容性与迁移建议
适用场景判断
建议如下场景优先评估升级到 Alinux 4:
业务场景 | 升级收益 |
AI 训练/推理(大模型、vLLM、SGLang) | 6.6 large folio、Uncached IO、Cachefs、全栈 Profiling、分布式推理优化。 |
异构/国产硬件(海光、兆芯、鲲鹏、飞腾、国产 GPU) | Alinux 4 是阿里云国产化路线的下一代核心底座,原生使能。 |
9 代及以后的实例 | 新增指令集、平台驱动、调度优化。 |
大规模容器/混部 | cgroup v2 默认、PSI per-cgroup、cpuset isolated、Group Identity/Balance 2.0。 |
对 OpenSSL 3.0、Python 3.11、GCC 12+ 有强需求 | 现代化基础设施开箱即用。 |
兼容性高风险项
OpenSSL 3.0:旧版
libssl.so.1.1二进制不再默认提供,需重新编译或安装兼容包。cgroup v2 默认:依赖 cgroup v1 路径的容器编排、监控 Agent 需适配。
Java 默认 Dragonwell:业务如严格依赖 OpenJDK 行为或 vendor 字符串,需在 OpenJDK / Dragonwell 之间显式指定。
Python 默认 3.11:Python 3.6 编译的 C 扩展、依赖 distutils 的旧脚本需要适配。
Module 包不再支持:使用 DNF Modular 的部署脚本需改造。
kmod-* 驱动:部分硬件驱动(ena、bnxt、hns3 等)目前在 Alinux 4 上未提供,需评估业务影响。
包名变更:
qemu-kvm → qemu、shadow-utils → shadow、system-lsb → lsb-release、python3.11-* → python3-*等命名空间迁移需要更新部署脚本。
推荐迁移路径
盘点:在 Alinux 3 实例上执行
rpm -qa > alinux3-pkglist.txt,对照本文差异化组件归类分析进行差异分析。替换:对变更组件,在部署脚本里调整为 Alinux 4 等价包名。
评估:对"待逐项确认(806 个)"的组件,在测试环境验证其必要性。
试点:优先在 AI、混部、国产硬件场景的非核心业务上试点 Alinux 4。
规模化:试点稳定后再分批替换核心业务,必要时采用容器化作为过渡。