This topic describes the kernel features and interfaces supported by Alibaba Cloud Linux. This topic is intended for users who are familiar with the Linux kernel and want to use Linux kernel features.

Memory

ReferencesSupported versionDescription
Memcg Exstat featureAlibaba Cloud Linux 2 kernel version 4.19.91-18.al7.x86_64 and laterAlibaba Cloud Linux 2 provides the Memcg Exstat feature. Unlike community versions of the Linux kernel, Alibaba Cloud Linux 2 kernel supports the following cgroup v1 interfaces for the Memcg Exstat feature: memory.events, memory.events.local, and memory.stat. Statistics on the latency caused by changes in the global minimum watermark and backend asynchronous reclaim are provided.
Memcg global minimum watermark rating
  • Alibaba Cloud Linux 2 kernel version 4.19.91-18.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
Alibaba Cloud Linux 2 provides the memcg global minimum watermark rating feature. The global minimum watermark of resource-consuming tasks is increased to trigger direct memory reclaim. The global minimum watermark of latency-sensitive tasks is decreased to prevent direct memory reclaim. When a resource-consuming task requests a large amount of memory, the global minimum watermark is increased to throttle resources used for the task for a short period to prevent direct memory reclaim for latency-sensitive tasks. After a specified amount of memory is reclaimed by means of global kswapd backend reclaim, the resource-consuming task is no longer throttled.
Memcg QoS feature of the cgroup v1 interface
  • Alibaba Cloud Linux 2 kernel version 4.19.91-18.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
The memcg quality of service (QoS) feature can be used to control locks and limits on memory usage in a memcg. In community versions of the Linux kernel, this feature is supported only by the cgroup v2 interface. In Alibaba Cloud Linux 2, the memcg QoS feature is also supported by the cgroup v1 interface.
Memcg backend asynchronous reclaim
  • Alibaba Cloud Linux 2 kernel version 4.19.81-17.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
Alibaba Cloud Linux 2 provides the backend asynchronous reclaim feature for memcgs. This feature differs from the global kswapd kernel thread because it uses the workqueue mechanism instead of a corresponding memcg kswapd kernel thread.
Memcg OOM priority policy
  • Alibaba Cloud Linux 2 kernel version 4.19.91-18.al7 and later
  • Alibaba Cloud Linux 3 kernel version 5.10.60-9.al8 and later
Alibaba Cloud Linux 2 and Alibaba Cloud Linux 3 provide the memcg out of memory (OOM) priority policy feature. When the memcg OOM priority policy feature attempts to perform an OOM operation, it determines the priorities of cgroups and selects the low-priority cgroup to perform the operation.
THP reclaimAlibaba Cloud Linux 2 kernel version 4.19.91-24.al7.x86_64 and laterAlibaba Cloud Linux 2 provides the Transparent Huge Page (THP) reclaim feature. You can use the THP reclaim feature to fix memory usage issues caused by THPs, such as out of memory (OOM) errors.
Hugetext
  • Alibaba Cloud Linux 2 kernel version 4.19.91-25 and later
  • Alibaba Cloud Linux 3 kernel version 5.10.112-11 and later
Alibaba Cloud Linux 2 and Alibaba Cloud Linux 3 support the hugetext feature. This feature is applicable to business scenarios that involve large code segments. You can use this feature to put the executable parts of applications and dynamic-link libraries (DLLs) into huge pages to reduce instruction translation lookaside buffer (iTLB) misses and increase the 2 MB iTLB utilization of CPUs. This way, the performance of applications is improved.

Network

ReferencesSupported versionDescription
Use SMCAlibaba Cloud Linux 3 kernel version 5.10.60-9.al8.x86_64 and laterAlibaba Cloud Linux 3 is tuned to support Shared Memory Communications over RDMA (SMC-R). SMC-R is based on Alibaba Cloud eRDMA and can transparently replace TCP in applications without loss of functionality. SMC-R enables direct, high-speed, low-latency, and memory-to-memory communications and provides higher performance than TCP in a variety of scenarios such as in-memory databases, remote procedure calls (RPCs), and transmission of large files.
TCP-RT configurations
  • Alibaba Cloud Linux 2 kernel version 4.19.91-21.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
Alibaba Cloud Linux 2 supports TCP-layer service monitoring (TCP-RT). TCP-RT is a TRACE method. TCP-RT allows you to configure event tracking in a kernel-based TCP stack to identify a request and response when a single connection carries only one concurrent request and response. You can then obtain information such as the amount of time taken to receive the request in the TCP stack and the amount of time taken to process the request. In addition, TCP-RT supports statistical analysis in the kernel system and generates statistical information of specified connections on a regular basis.
Change the TCP TIME-WAIT timeout period
  • Alibaba Cloud Linux 2 kernel version 4.19.43-13.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
In Linux kernels, TCP/IP connections remain in the TIME-WAIT state for 60 seconds. The length of this period cannot be changed. However, in specific scenarios such as heavy TCP loads, network performance can be improved if this period is shortened. To resolve this issue, Alibaba Cloud Linux 2 provides a kernel interface to change the period of time that TCP/IP connections remain in the TIME-WAIT state before the system closes them.

Storage

ReferencesSupported versionDescription
Enable the cgroup writeback feature
  • Alibaba Cloud Linux 2 kernel version 4.19.36-12.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
Alibaba Cloud Linux 2 provides the cgroup writeback feature for the cgroup v1 interface. This feature allows you to limit the buffered I/O rate when you use the cgroup v1 interface.
Configure the weight-based throttling feature of blk-iocost
  • Alibaba Cloud Linux 2 kernel version 4.19.81-17.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
Alibaba Cloud Linux 2 provides the weight-based throttling feature (blk-iocost) based on the cost model. This feature is an improvement to the weight-based disk throttling feature of the I/O subsystem (blkcg) within a kernel.
Enhance the monitoring of block I/O throttling
  • Alibaba Cloud Linux 2 kernel version 4.19.81-17.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
Alibaba Cloud Linux 2 provides interfaces to better monitor Linux block I/O throttling.
Use the JBD2 optimization interface
  • Alibaba Cloud Linux 2 kernel version 4.19.81-17.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
JBD2 is the kernel thread of ext4 file systems. JBD2 often experiences the shadow (BH_Shadow) state when it is being used, which can affect system performance. To resolve this issue, Alibaba Cloud Linux 2 provides an interface to optimize JBD2.
Create a hard link across project quotas
  • Alibaba Cloud Linux 2 kernel version 4.19.91-18.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
By default, ext4 file systems have constraints that forbid hard links to be created across project quotas. However, some scenarios require hard links to be created. Alibaba Cloud Linux 2 provides a custom interface to bypass the constraints of ext4 file systems and create hard links across project quotas.
Track I/O latency
  • Alibaba Cloud Linux 2 kernel version 4.19.91-18.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
Alibaba Cloud Linux 2 optimizes the /proc/diskstats interface that provides raw data for the I/O latency analysis tool iostat. Alibaba Cloud Linux 2 can calculate the durations of read, write, and special I/O (discard) operations on the device side. In addition, Alibaba Cloud Linux 2 provides the bcc tool to track I/O latency.
Detect I/O hangs of file systems and block layers
  • Alibaba Cloud Linux 2 kernel version 4.19.91-18.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
An I/O hang occurs when the system becomes unstable or even goes down due to time-consuming I/O requests. Alibaba Cloud Linux 2 extends the core data structure and provides the feature to identify and detect I/O hangs at low system overheads.

Monitoring

ReferencesSupported versionDescription
UKFEFAlibaba Cloud Linux 3 kernel version 5.10.60-9.al8.x86_64 and laterAlibaba Cloud Linux 3 supports Unified Kernel Fault Event Framework (UKFEF) in the kernel of the 5.10.60-9.al8.x86_64 version. UKFEF is used to collect the exception events on Alibaba Cloud Linux 3 that may cause risks and generate event reports in a unified format.
Enable the PSI feature for cgroup v1
  • Alibaba Cloud Linux 2 kernel version 4.19.81-17.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
Alibaba Cloud Linux 2 provides the Pressure Stall Information (PSI) feature for the cgroup v1 interface. This feature allows you to monitor CPUs, memory, and I/O performance.

Scheduling

ReferencesSupported versionDescription
Enable the CPU burst feature for cgroup v1
  • Alibaba Cloud Linux 2 kernel version 4.19.91-22.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
Alibaba Cloud Linux 2 provides the CPU burst feature for the cgroup v1 interface. The CPU burst feature allows CPU-throttled containers to burst their CPU utilization for higher performance and lower latency.
Group identity feature
  • Alibaba Cloud Linux 2 kernel version 4.19.91-24.al7 and later
  • Alibaba Cloud Linux 3 kernel version 5.10.46-7.al8 and later
Alibaba Cloud Linux 2 provides the group identity feature. This feature allows you to configure different identities for CPU cgroups to prioritize process tasks in the cgroups.

Compatibility

ReferencesSupported versionDescription
Statistical status change of anonymous pages in the /proc/meminfo file
  • Alibaba Cloud Linux 2 kernel version 4.19.91-22.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
In Alibaba Cloud Linux 2 kernel version 4.19.91-22.al7.x86_64 and later, the statistical Active(anon) and Inactive(anon) states of anonymous pages in the /proc/meminfo file are changed. If your application uses these statistics, data queried before and after the change is inconsistent.

Others

ReferencesSupported versionDescription
Enhance the visibility of container resources
  • Alibaba Cloud Linux 2 kernel version 4.19.91-22.2.al7.x86_64 and later
  • All Alibaba Cloud Linux 3 kernel versions
Alibaba Cloud Linux 2 provides kernel interfaces for the container resource visualization feature to enhance the visibility of container resources.