如果您对Linux的内核系统有一定的了解,并且需要使用Linux内核功能,可以通过本文了解Alibaba Cloud Linux已支持的内核功能与接口。

内存

文档链接 支持版本 说明
Memcg Exstat功能 Alibaba Cloud Linux 2内核版本4.19.91-18.al7.x86_64及以上 Alibaba Cloud Linux 2所支持的Memcg Exstat功能,相较于社区版内核额外在cgroup v1接口支持了memory.events、memory.events.local及memory.stat接口,并增加了memcg全局最低水位调整产生的延迟统计和后台异步回收产生的延迟统计。
Memcg全局最低水位线分级
  • Alibaba Cloud Linux 2内核版本4.19.91-18.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
Alibaba Cloud Linux 2新增了memcg全局最低水位线分级功能。在global wmark_min的基础上,将资源消耗型任务的global wmark_min上移,使其提前进入直接内存回收。将时延敏感型业务的global wmark_min下移,使其尽量避免直接内存回收。这样当资源消耗型任务瞬间申请大量内存的时候,会通过上移的global wmark_min将其短时间抑制,避免时延敏感型业务发生直接内存回收。等待全局kswapd回收一定量的内存后,再解除资源消耗型任务的短时间抑制。
cgroup v1接口支持memcg QoS功能
  • Alibaba Cloud Linux 2内核版本4.19.91-18.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
内存子系统服务质量(memcg QoS)可以用来控制内存子系统(memcg)的内存使用量的保证(锁定)与限制。在社区版内核中只有cgroup v2接口支持该功能,Alibaba Cloud Linux 2中新增cgroup v1接口支持memcg QoS的相关功能。
Memcg后台异步回收
  • Alibaba Cloud Linux 2内核版本4.19.81-17.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
Alibaba Cloud Linux 2增加了memcg粒度的后台异步回收功能。该功能的实现不同于全局kswapd内核线程的实现,并没有创建对应的memcg kswapd内核线程,而是采用了workqueue机制来实现。
Memcg OOM优先级策略功能
  • Alibaba Cloud Linux 2内核版本4.19.91-18.al7及以上
  • Alibaba Cloud Linux 3内核版本5.10.60-9.al8及以上
Alibaba Cloud Linux 2和Alibaba Cloud Linux 3新增memcg OOM优先级策略功能。该功能在进行OOM操作时,会首先判定cgroup的优先级,选择低优先级的cgroup进行OOM操作。
THP reclaim功能 Alibaba Cloud Linux 2内核版本4.19.91-24.al7.x86_64及以上 Alibaba Cloud Linux 2增加了THP reclaim功能,用于解决因透明大页THP带来的内存问题(例如OOM)。

网络

文档链接 支持版本 说明
SMC-R说明 Alibaba Cloud Linux 3内核版本5.10.60-9.al8.x86_64及以上 Alibaba Cloud Linux 3操作系统增加了对SMC-R的支持,基于阿里云弹性RDMA技术,实现对TCP应用透明无损的替换,为内存数据库、RPC、大文件传输等场景提供相比TCP更好的性能。
TCP-RT功能的配置说明
  • Alibaba Cloud Linux 2内核版本4.19.91-21.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
Alibaba Cloud Linux 2支持TCP层的服务监控功能(TCP-RT)。TCP-RT本质是一种trace方式。通过在内核TCP协议栈中相应的位置设置埋点,可以在单个连接上只有一个并发请求与响应的场景下识别出请求与响应,进而获取请求在协议栈中接收的时间及服务进程处理过程中的耗时等数据信息。此外,TCP-RT还支持在内核系统中做统计分析,定期输出指定连接的统计信息。
修改TCP TIME-WAIT超时时间
  • Alibaba Cloud Linux 2内核版本4.19.43-13.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
在Linux的内核中,TCP/IP协议的TIME-WAIT状态持续60秒且无法修改。但在某些场景下,例如TCP负载过高时,适当调小该值有助于提升网络性能。因此Alibaba Cloud Linux 2新增内核接口,用于修改TCP TIME-WAIT超时时间。

存储

文档链接 支持版本 说明
启用cgroup writeback功能
  • Alibaba Cloud Linux 2内核版本4.19.36-12.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
Alibaba Cloud Linux 2对内核接口cgroup v1增加了控制群组回写(cgroup writeback)功能。该功能使您在使用内核接口cgroup v1时,可以对缓存异步I/O (Buffered I/O) 进行限速。
blk-iocost权重限速
  • Alibaba Cloud Linux 2内核版本4.19.81-17.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
Alibaba Cloud Linux 2支持基于成本模型(cost model)的权重限速功能,即blk-iocost功能。该功能是对内核中IO子系统(blkcg)基于权重的磁盘限速功能的进一步完善。
Block IO限流增强监控接口
  • Alibaba Cloud Linux 2内核版本4.19.81-17.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
为了更方便地监控Linux block IO限流,Alibaba Cloud Linux 2增加相关接口,用于增强block IO限流的监控统计能力。
JBD2优化接口
  • Alibaba Cloud Linux 2内核版本4.19.81-17.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
JBD2作为ext4文件系统的内核线程,在使用过程中常会遇到影子状态(BH_Shadow),影响系统性能。为解决使用JBD2过程中出现的异常,Alibaba Cloud Linux 2对JBD2进行了优化。
跨目录配额创建硬链接
  • Alibaba Cloud Linux 2内核版本4.19.91-18.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
默认情况下,ext4文件系统中存在约束,不允许跨目录配额创建硬链接。但在实际中,某些特定场景有创建硬链接的需求,因此Alibaba Cloud Linux 2提供定制接口,该接口能够绕过ext4文件系统中的约束,实现跨目录配额创建硬链接。
追踪IO时延
  • Alibaba Cloud Linux 2内核版本4.19.91-18.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
Alibaba Cloud Linux 2优化了IO时延分析工具iostat的原始数据来源/proc/diskstats接口,增加了对设备侧的读、写及特殊IO(discard)等耗时的统计,此外还提供了一个方便追踪IO时延的工具bcc。
检测文件系统和块层的IO hang
  • Alibaba Cloud Linux 2内核版本4.19.91-18.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
IO hang是指在系统运行过程中,因某些IO耗时过长而引起的系统不稳定甚至宕机。为了准确检测出IO hang,Alibaba Cloud Linux 2扩展核心数据结构,增加了在较小的系统开销下,快速定位并检测IO hang的功能。

监控

文档链接 支持版本 说明
内核统一异常框架(UKFEF) Alibaba Cloud Linux 3内核版本5.10.60-9.al8.x86_64及以上 Alibaba Cloud Linux 3在内核版本5.10.60-9.al8.x86_64增加了UKFEF(Unified Kernel Fault Event Framework),用于统计可能导致风险的系统异常事件,并统一格式输出事件报告。
在cgroup v1接口开启PSI功能
  • Alibaba Cloud Linux 2内核版本4.19.81-17.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
Alibaba Cloud Linux 2为cgroup v1接口提供了PSI功能。PSI(Pressure Stall Information)是一个可以监控CPU、内存及IO性能异常的内核功能。

调度

文档链接 支持版本 说明
在cgroup v1接口开启CPU Burst功能
  • Alibaba Cloud Linux 2内核版本4.19.91-22.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
Alibaba Cloud Linux 2为cgroup v1接口提供了CPU Burst功能。CPU Burst功能允许容器被CPU限流时,突发使用CPU资源,进而提升容器性能、降低系统的延迟指标。
Group Identity功能说明
  • Alibaba Cloud Linux 2内核版本4.19.91-24.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
Alibaba Cloud Linux 2支持Group Identity功能,您可以通过该功能为每一个CPU cgroup设置不同的身份标识,以区分不同CPU cgroup中进程任务的优先级。

兼容性

文档链接 支持版本 说明
/proc/meminfo文件中的统计信息变更说明
  • Alibaba Cloud Linux 2内核版本4.19.91-22.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
Alibaba Cloud Linux 2操作系统在内核4.19.91-22.al7.x86_64及其之后的版本中,/proc/meminfo文件内的匿名页状态统计信息Active(anon)Inactive(anon)发生了变化。如果您的应用程序正在使用该统计信息,统计信息的变化会导致变更前后查询到的数据不一致。

其他

文档链接 支持版本 说明
增强容器资源可见性
  • Alibaba Cloud Linux 2内核版本4.19.91-22.2.al7.x86_64及以上
  • Alibaba Cloud Linux 3所有内核版本
Alibaba Cloud Linux 2在内核层面提供了容器资源视图功能的相关接口,实现对容器资源的可见性增强。