👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
内核
Kernel 5.15
新增eBPF(extended Berkeley Packet Filter)通用helper函数,支持通过模块添加eBPF功能。
新增对Intel® SPR/EMR处理器的i10mn EDAC的Drivers(驱动)支持,并提供对HBM内存的EDAC支持。
新增对EMR平台的特性支持(RAPL、Idle、Uncore Frequency等)。
新增对fast REP的支持以及对Split Lock、P-state的增强。
新增QAT(QuickAssist Technology)设备对SVM(Secure Virtual Machine)的支持。
新增Intel® RDT(Resource Director Technology)对SNC(Sub-NUMA Clustering)的隔离支持。
新增TCPDirect(使用dma-buffer)的支持,即Device Memory TCP,可减少报文拷贝,极大提升报文吞吐。
新增AMD QoS特性,包括SMBA (Slow Memory Bandwidth Allocation) 和BMEC(Bandwidth Monitoring Event Configuration),提供新型CXL内存的资源QOS隔离。
新增PSI(Pressure Stall Information)特性,针对cgroup(Control Groups)级别的CPU Stall增加了FULL模式,优化了memory stall FULL模式的实现和进程阻塞切换的开销。
优化冗余的HugeTLB(Huge Transparent Large Pages),降低内存开销。
优化了cgroup(Control Groups)Slab Memory Controller。
支持VDUSE设备模拟框架,能够为容器和虚机提供统一的I/O虚拟化层。
修复CVE-2023-5717、CVE-2023-2176、CVE-2023-35001、CVE-2023-31248、CVE-2023-2007等重要CVE漏洞。
Kernel 6.6
支持EEVDF(Enhanced Virtual Deadline Fairness)的调度器算法,旨在解决完全公平调度(CFS)中存在的一些问题,特别是在任务延迟方面缺乏保障的情况下。EEVDF会考虑任务的延迟需求,能够提升任务的时延保证,同时不降低系统的整体吞吐量。
支持Folios新的内存管理机制,以提升内存管理性能。
在用户态支持Intel® Shadow Stack特性,来保证用户态栈被破坏时触发故障保护,也有助于问题和故障的提前发现和定位。
在低队列深度(low queue depth)的 I/O 场景下,IO_uring的Direct I/O性能有了较大提升。
支持cachestat syscall来查询具体文件的Pagecache的一些统计信息(如cache、dirty、writeback等)。
支持用户空间(User Space)的Trace event功能。
细化进程内存大锁(Process Big Memory Lock)到VMA(per Virtual Memory Area,per-VMA)级别,可大幅度降低大规格多CPU系统并发扩展场景下的内存管理性能,降低锁竞争开销。
支持Rust语言编写的内核模块。
支持MGLRU(Most Gapped Least Recently Used,最大间隔最近未使用)算法,提升内存回收管理的性能。
系统组件
自研组件
Atop
支持LLC收集。
支持pgin&pgout。
补充tcpsock和udpsock 内存消耗。
新增cgroup v2支持。
Supplement inflight I/O requests。
通过-J xxx引入JSON输出,提供以JSON格式记录数据的能力。
为每个进程新增nvcsw和nivcsw两种上下文切换计数方式。
为空闲线程引入单独的计数器。
为容器添加RDELAY/BDELAY。
kdump-tools
通过过滤无关的内核cmdline、替换systemd等方法来降低kdump内核中的内存使用,从而防止机器在dump内存的过程中出现OOM(out of memory)的错误。
检测内存等硬件故障,提前结束dump过程,防止再次出现内核错误。
提前dump dmesg,防止在dump内存失败的情况下,获取不到dmesg的信息。
在kdump侧实现crashkernel = auto功能,根据机器内存自动设置预留给kdump的内存的大小,且无需对内核做定制化修改。
OpenJDK
针对大数据数据存储压缩场景,veLinux的OpenJDK集成了优化的zlib实现,基于GZIP的数据压缩、解压缩性能会得到有效改进,详细数据可查看zlib。
针对Full GC(Full Garbage Collection,全垃圾回收)延时较长的问题,移植了G1 Parallel Full GC(Garbage-First Parallel Full Garbage Collection,垃圾优先并行全面垃圾回收)到jdk-8中,有效缓解了Full GC带来的长延时问题。
LXCFS
zlib
支持压缩过程中哈希函数的向量化指令,并且重构了字符串匹配的流程。
增强解压过程中长字符串拷贝效率。
支持crc32/adler32等校验码的向量化指令。
修复CVE-2018-25032漏洞。

base-files
重点开源组件
核心工具
glibc
AArch64架构提供了包括BTI(branch target identification) 和PAC-RET(pointer authentication for return addresses) 在内的分支保护安全加固。
内存分配相关接口通过PTRDIFF_MAX设置了上限,避免潜在的溢出误申请过大内存的行为,提高了可靠性。
新增异步信号安全函数fork族函数_Fork,用以满足用户的异步信号安全需求。
Unicode编码支持到14.0.0,支持编码范围更广。
提供新的 tunable 环境变量满足功能和性能上的灵活运用,具体为:
glibc.pthread.stack_cache_size配置线程栈cache大小。
glibc.rtld.dynamic_sort选择DSO排序算法。
glibc.malloc.hugetlb通过与内核的大页配置相配合,提高系统性能。
支持LoongArch CPU。
Binutils
支持使用zstd对调试节进行压缩。
新增多种实用便捷选项,提升工具的可用性。
elfedit/readelf支持LAM_U48和LAM_U57。
需要C99编译器和库支持。
新增对LoogArch指令集的支持。
util-linux
dpkg
APT
启动与引导
systemd
sd-boot从原来的PCR 8升级到支持TPM PCR 12。
支持 cgroup v2更多特性。
支持 cgroup v2 BPF相关逻辑。
支持 GPT Discoverable Partitions Specification 相关特性。
新增每次升级时触发所有设备udev规则。
选项CPUAffinity=支持numa。
udev规则支持PCI和USB设备的auto-suspend。
新增userdb相关特性。
新增工具systemd-network-generator、systemd-sysext、systemd-repart等来控制系统拓展层级、更好地支持GPT等。
新增网络设备命名规则“keep”。
系统资源限制 RLIMIT_NOFILE 设置为 1024(soft)和 4096(hard)。
将 /dev 的最大默认 inodes 数从64K提高到1M, 将 /tmp 的最大默认 inodes 数从400K提高到1M。
现在在 x86_64 上偏向使用 RDRAND 指令集。
GRUB2
支持Virtual LAN。
ARM支持EHCI、DMA、DTB驱动支持。
支持UUID、PARTUUID。
支持包含Open Firmware text representation的NVMe设备。
添加对F2FS(flash-friendly file system)的支持。
支持稀疏节点的文件系统。
支持RAID-5、RAID-6或RAID1C34的文件系统,读取/启动/恢复。
全架构支持TPM(可信平台模块)。
支持RISC-V架构。
编译与开发
GCC
切换为TGCC。
反馈编译优化,贴合业务特性提升效果。
LTO链接优化。
基于业务运行特征实施函数重排/基本块重排。
支持ShadowCallStack sanitizer(仅 aarch64)。
默认编译的C++版本选项为17,实现一部分C++ 23特性。
支持armv9,支持loongarch。
GDB
支持多种架构,包括loongarch、openrisc、C-SKY。
LoongArch GNU/Linux现已添加浮点支持。
默认支持多线程符号表加载。
不再支持python2,对python api增强。
Vim
Shell
新增可加载内置命令:asort,mktemp、accept、mkfifo、csv、cut/lcut、seq等。
shell现在尝试在退出时取消链接所有FIFO,无论消费过程是否已经完成。
bind -x现在支持不同编辑模式的不同绑定和键盘映射。
将历史记录写入syslog现在可以处理比syslog max更长的消息通过使用序列号写入多条消息来确定长度。
bash-completion
对nmap、openssl、ssh-keygen、gcc等命令提供更多的支持。
新支持gssdp-discover、xvfb-run、influx、dmypy、carton、scrub、ecryptfs-migrate-home、chmod、json_xs等。
优化丰富了测试模块。
Python
Python 3.11比Python 3.10快10 ~ 60%。
新增tomllib模块,支持解析标准库中的TOML。
新增多种类型提示。
新增一种标准异常类型ExceptionGroup,并引入新的语法 except*,允许程序同时触发和处理多个不相关的异常。
新增细粒度Traceback错误信息,增强调试能力(来自于PEP 657)。
Perl
新增Unicode 15.0支持。
新增浮点异常信号支持。
新增可变长的后行断言 (lookbehind) 支持。
新增builtin核心模块。
新增try/catch/finally异常处理机制。
C11 TLS特性支持,线程化perl构建场景性能提升。
特定场景下标量创建速度提升30%。
语言环境操作线程安全支持。
Hash表key分配性能提升。
Web服务器
Apache
新增modules:mod_socache_redis、mod_systemd。
新增工具:fcgistarter、htcacheclean、rotatelogs、htpasswd、htdbm,提升便捷性。
功能增强:毫秒设置KeepAliveTimeout、MPM异步支持增强。
Nginx
增加对Openssl 3.0的支持。
改进http/2性能。
安全加固:修复CVE-2022-41741、CVE-2022-41742、CVE-2021-23017。
数据库
MariaDB
新增授权行为:GRANT to PUBLIC。
新增UUID数据类型。
InnoDB性能改进、gap锁修复、改进redo log。
提升Docker时区库初始化速度。
支持容器中健康检查。
跳过InnoDB缓冲池加载/转储,提升Docker启动/初始化速度。
修复CVE-2023-22084、CVE-2022-47015。
PostgreSQL
支持SQL MERGE命令。
通过指定列列表和行筛选条件的能力,在逻辑复制发布中选择性发布表内容。
更多压缩选项,包括支持Zstandard (zstd) 压缩。这包括支持在 pg_basebackup期间在服务器端执行压缩。
支持使用JSON格式的结构化服务器日志输出。
性能改进,特别是内存中和磁盘上的排序。
修复CVE-2024-0985。
安全相关
GnuPG 2
支持使用OCB或EAX的AEAD加密模式。
支持DFN颁发的密钥。
支持Telesec ESIGN应用程序。
使用TPM 2.0来保护私钥。
提升gpg加密,解密等过程的速度。
使用管道进行解密,避免内存耗竭。
支持使用openpgp进行ssh-agent身份验证。
强制为ed448和cv448算法创建版本5密钥。
支持多种类型的智能卡。
OpenSSL
支持内核TLS协议(KTLS)。
引入“提供者”(Provider)概念,支持以编程方式或配置文件指定用于给定应用程序的算法实现。
基于SHA1的签名证书将不被认证client和server信任。
修复CVE-2022-3786、CVE-2022-3602、CVE-2022-3786、CVE-2023-0401等漏洞。