すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Linux:カーネル機能とインターフェイスの概要

最終更新日:Dec 11, 2024

このトピックでは、Alibaba Cloud Linuxでサポートされているカーネル機能とインターフェイスについて説明します。 このトピックは、Linuxカーネルに精通しており、Linuxカーネルの機能を使用したいユーザーを対象としています。

メモリ

参照

サポートされているバージョン

説明

Memcg Exstat機能

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-18.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

Alibaba Cloud LinuxはMemcg Exstat機能をサポートしています。 コミュニティバージョンのLinuxカーネルと比較して、Alibaba Cloud LinuxカーネルはMemcg Exstat機能用に次のcgroup v1インターフェイスをサポートしています: memory.events、memory.events.local、memory.stat。 Alibaba Cloud Linuxカーネルは、memcgグローバル最小ウォーターマークとバックエンド非同期リクラメーションの変更によるレイテンシに関する統計も提供します。

Memcgグローバル最小透かし評価

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-18.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

Alibaba Cloud Linuxは、memcgグローバル最小透かし評価機能を提供します。 リソース集約型タスクのグローバル最小透かしは、直接メモリ再利用をトリガするために増加される。 待ち時間に敏感なタスクのグローバル最小透かしは、直接メモリ再利用を防ぐために減少される。 リソースを大量に消費するタスクが大量のメモリを要求すると、グローバル最小ウォーターマークが増加し、タスクによって使用されるリソースを短時間で制限して、レイテンシに敏感なタスクの直接メモリの再利用を防ぎます。 グローバルkswapdバックエンドの再利用を使用して特定の量のメモリが再利用されると、リソースを大量に消費するタスクは抑制されなくなります。

cgroup v1インターフェイスのMemcg QoS機能

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-18.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

memcgサービス品質 (QoS) 機能は、memcg内のメモリ使用量のロックと制限を制御するために使用できます。 Linuxカーネルのコミュニティバージョンでは、memcg QoS機能はcgroup v2インターフェイスによってのみサポートされます。 Alibaba Cloud Linuxカーネルでは、memcg QoS機能もcgroup v1インターフェイスでサポートされています。

Memcgバックエンド非同期再利用

  • Alibaba Cloud Linux 2カーネルバージョン4.19.81-17.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

Alibaba Cloud Linuxは、memcgsのバックエンド非同期再利用機能を提供します。 バックエンド非同期再利用機能は、グローバルkswapdカーネルスレッドとは異なります。 この機能は、対応するmemcg kswapdカーネルスレッドの代わりにワークキューメカニズムを使用します。

Memcg OOM優先ポリシー

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-18.al7以降

  • Alibaba Cloud Linux 3カーネルバージョン5.10.60-9.al8以降

Alibaba Cloud Linuxは、メモリ不足 (OOM) 優先ポリシー機能を提供します。 memcg OOM優先度ポリシー機能がOOM操作を実行しようとすると、機能はcgroupsの優先度を決定し、操作を実行するために優先度の低いcgroupを選択します。

THPの回収

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-24.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

Alibaba Cloud Linuxは、透過的な巨大ページ (THP) の回収機能を提供します。 この機能を使用して、OOMエラーなどのTHPによって引き起こされるメモリ使用量の問題を修正できます。

巨大なページ

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-25以降

  • Alibaba Cloud Linux 3カーネルバージョン5.10.112-11以降

Alibaba Cloud Linuxは、巨大ページ機能をサポートしています。 巨大ページ機能は、大規模なコードセグメントを含むビジネスシナリオに適しています。 この機能を使用して、アプリケーションおよびダイナミックリンクライブラリ (DLL) の実行可能部分を巨大なページに割り当てて、命令変換索引バッファ (iTLB) のミスを減らし、CPUの2 MBのiTLB使用率を高めることができます。 これにより、アプリケーションのパフォーマンスが向上します。

KFENCEを使用したカーネルメモリ汚染の検出

x86アーキテクチャの場合はAlibaba Cloud Linux 3カーネルバージョン5.10.84-10以降、Armアーキテクチャの場合はAlibaba Cloud Linux 3カーネルバージョン5.10.134-16以降

Alibaba Cloud Linux 3は、Kernel Electric-Fence (KFENCE) 機能をサポートしています。 Alibaba Cloud Linux 3では、KFENCEを柔軟かつ動的に有効または無効にし、メモリ汚染の問題を完全に把握できます。 これにより、Alibaba Cloud Linux 3は、メモリ汚染問題のオンライン検出とオフラインデバッグのバランスを取ります。

ページキャッシュ制限機能

Alibaba Cloud Linux 3カーネルバージョン5.10.134-14以降

Alibaba Cloud Linux 3は、ページキャッシュ制限機能を提供します。 この機能は、ビジネスのジッターや予期しないOOMエラーなど、無制限のページキャッシュ使用によって引き起こされるシステムの不安定性を解決するのに役立ちます。

コードduptext機能

Alibaba Cloud Linux 3カーネルバージョン5.10.112-11以降

非均一メモリアクセス (NUMA) アーキテクチャ、特にArmベースのElastic Compute Service (ECS) インスタンスでは、各NUMAノードにローカルメモリがあります。 1つのNUMAノード上のプログラムまたはプロセスが他のNUMAノード上のコードスニペットにアクセスする必要がある場合、クロスノードアクセスは追加のレイテンシおよびパフォーマンスオーバーヘッドを引き起こします。 上記の問題を解決するには、code duptext機能を使用して、リモートノードからオンプレミスノードにコードスニペットをコピーします。

ネットワーク

参照

サポートされているバージョン

説明

SMCの使用

Alibaba Cloud Linux 3カーネルバージョン5.10.60-9.al8.x86_64以降

Alibaba Cloud Linux 3は、RDMA (SMC-R) による共有メモリ通信をサポートするように最適化されています。 SMC-RはAlibaba Cloud elastic remote direct memory access (eRDMA) に基づいており、機能を失うことなくアプリケーションのTCPを透過的に置き換えることができます。 SMC-Rにより、インメモリデータベース、リモートプロシージャコール (RPC) 、大容量ファイル転送などのさまざまなシナリオで、高速、低レイテンシ、およびメモリ間の直接通信が可能になり、TCPよりも高いパフォーマンスが得られます。

TCP-RT設定

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-21.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

Alibaba Cloud Linuxは、TCP層サービスモニタリング (TCP-RT) をサポートしています。 TCP-RTはTRACEメソッドです。 TCP-RTにより、カーネルベースのTCPスタックでイベント追跡を構成して、1つの接続で1つの同時リクエストとレスポンスしか伝送しない場合にリクエストとレスポンスを識別できます。 その後、TCPスタックでリクエストを受信するのに必要な時間やリクエストを処理するのに必要な時間などの情報を取得できます。 TCP-RTはまた、カーネルシステムにおける統計分析をサポートし、定期的に特定の接続に関する統計を生成する。

TCP TIME-WAITタイムアウト期間の変更

  • Alibaba Cloud Linux 2カーネルバージョン4.19.43-13.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

Linuxカーネルでは、TCP/IP接続は60秒間TIME-WAIT状態のままです。 この期間の長さは変更できません。 ただし、TCP負荷が重いシナリオなど、特定のシナリオでは、ネットワークパフォーマンスを向上させるためにこの期間を短縮する必要があります。 上記のシナリオでネットワークパフォーマンスを最適化するために、Alibaba Cloud Linux 2は、システムが接続を閉じる前にTCP/IP接続がTIME-WAIT状態のままである期間を変更するためのカーネルインターフェイスを提供します。

IPVSの推定機能を無効にしてネットワークのジッターを防止

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-22以降

  • Alibaba Cloud Linux 3カーネルバージョン5.10.134-14以降

デフォルトでは、LinuxオペレーティングシステムのIP仮想サーバー (IPVS) モジュールは推定機能を有効にします。 大規模なKubernetesクラスターシナリオなど、大規模なサーバーが多数のサービスをホストするシナリオでは、サーバーがネットワークリクエストを処理するときに、推定機能により数十〜数百ミリ秒のレイテンシまたはネットワークジッターが発生する可能性があります。 Alibaba Cloud LinuxイメージのIPVSの見積もり機能を無効にできます。 この機能を使用してパケット数や接続数などの統計情報を収集しない場合は、IPVSの推定機能を無効にして、統計情報収集中に発生する追加のオーバーヘッドやジッターを排除することをお勧めします。

VTOAの使用

Alibaba Cloud Linux 3カーネルバージョン5.10.134-15以降

Anti-DDoS Proxyを使用する場合など、FULLNATシナリオでは、クライアントのアドレスがFULLNATノードのアドレスに変換されます。 クライアントの実際のアドレスを取得するには、カーネルバージョン5.10.134-15以降のAlibaba Cloud Linux 3オペレーティングシステムを実行し、VTOAがインストールされているバックエンドサーバーに接続し、TCP Option address (TOA) プロトコルを使用してgetsockoptまたはgetpeername関数を呼び出します。 IPv4およびIPv6アドレスがサポートされています。

ストレージ

参照

サポートされているバージョン

説明

cgroupライトバック機能の有効化

  • Alibaba Cloud Linux 2カーネルバージョン4.19.36-12.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

Alibaba Cloud Linuxは、cgroup v1インターフェイスのcgroupライトバック機能を提供します。 cgroupライトバック機能を使用すると、cgroup v1インターフェイスを使用するときに、バッファリングされたI/Oレートを制限できます。

blk-ioscostウェイトベースのスロットリング機能の設定

  • Alibaba Cloud Linux 2カーネルバージョン4.19.81-17.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

Alibaba Cloud Linuxは、コストモデルに基づいた重みベースのスロットリング機能 (blk-iocost) を提供します。 blk-iocost機能は、カーネル内のI/Oサブシステム (blkcg) の重みベースのディスクスロットリング機能の改善です。

ブロックI/Oスロットリングの監視を強化

  • Alibaba Cloud Linux 2カーネルバージョン4.19.81-17.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

Alibaba Cloud Linuxは、LinuxブロックI/Oスロットリングをより適切に監視するためのインターフェイスを提供します。

JBD2最適化インターフェイスの使用

  • Alibaba Cloud Linux 2カーネルバージョン4.19.81-17.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

JBD2はExt4ファイルシステムのカーネルスレッドです。 ほとんどの場合、JBD2は使用時にシャドウ (BH_Shadow) 状態になり、システムパフォーマンスに影響を与える可能性があります。 上記の問題を解決するために、Alibaba Cloud LinuxはJBD2を最適化するインターフェイスを提供します。

プロジェクトクォータ間でハードリンクを作成

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-18.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

デフォルトでは、Ext4ファイルシステムは、プロジェクトクォータ間でハードリンクが作成されないように制限を課します。 ただし、特定のシナリオでは、プロジェクトクォータ間でハードリンクを作成する必要があります。 Alibaba Cloud Linuxは、Ext4ファイルシステムの制限を回避し、プロジェクトクォータ間でハードリンクを作成するためのカスタムインターフェイスを提供しています。

トラックI/Oレイテンシ

  • すべてのAlibaba Cloud Linux 2カーネルバージョン

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

Alibaba Cloud Linuxは、I/Oレイテンシ分析ツールiostatの生データを提供する /proc/diskstatsインターフェイスを最適化します。 Alibaba Cloud Linuxは、デバイス側での読み取り、書き込み、および特殊I/O (破棄) 操作の期間を計算できます。 Alibaba Cloud Linuxは、I/Oレイテンシを追跡するためのBPFコンパイラコレクション (BCC) ツールセットも提供しています。

ファイルシステムとブロックレイヤーのI/Oハングの検出

  • すべてのAlibaba Cloud Linux 2カーネルバージョン

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

I/Oハングは、時間のかかるI/O要求によりシステムが不安定になったり故障したりすると発生します。 Alibaba Cloud Linuxは、コアデータ構造を拡張し、低いシステムオーバーヘッドでI/Oハングを見つけて検出する機能を提供します。

ファイルシステムのコンテキスト先読み機能を設定してファイルアクセスのパフォーマンスを向上させる

  • Alibaba Cloud Linux 3

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-18以降

Linuxは先読み技術を使用して、データをプリフェッチしてページキャッシュにデータをロードすることでファイルアクセスを高速化します。 Linuxは、インターリーブされたシーケンシャルストリームを検出してファイルアクセスのパフォーマンスを最適化できるコンテキスト先読みアルゴリズムもサポートしています。 しかしながら、特定のランダムアクセスシナリオでは、コンテキスト先読みアルゴリズムは、判断が不十分になる傾向があり、必要以上に多くのページをプリフェッチする可能性がある。 上記のシナリオでは、コンテキスト先読み機能を無効にして、アプリケーションのパフォーマンスを大幅に向上させることができます。

tcm_loopデバイスパラメーターの設定

Alibaba Cloud Linux 3カーネルバージョン5.10.134-17以降

ターゲットコアモジュール (TCM) は、カーネル内インターネットスモールコンピュータシステムインターフェイス (iSCSI) ターゲットであるLinux-IOターゲット (LIO) の別名です。 ユーザ空間におけるTCM (TCMU) は、LIOのユーザ空間実装である。 TCMUにより、ユーザ空間プログラムは、便利な方法で様々なユーザ空間バックエンド実装と協調することができる。 TCMUフレームワークとLIOループバック (tcm_loop) モジュールに基づいて、ユーザースペースiSCSIターゲットを簡単に実装できます。

モニタリング

参照

サポートされているバージョン

説明

UKFEF

Alibaba Cloud Linux 3カーネルバージョン5.10.60-9.al8以降

Alibaba Cloud Linux 3は、カーネルバージョン5.10.60-9.al8のUnified Kernel Fault Event Framework (UKFEF) をサポートしています。 UKFEFは、リスクを引き起こす可能性のあるAlibaba Cloud Linux 3上の例外イベントを収集し、統一された形式でイベントレポートを生成するために使用されます。

cgroup v1のPSI機能の有効化

  • Alibaba Cloud Linux 2カーネルバージョン4.19.81-17.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

Alibaba Cloud Linuxは、cgroup v1インターフェイスに圧力ストール情報 (PSI) 機能を提供します。 PSI機能を使用すると、CPU、メモリ、およびI/Oパフォーマンスを監視できます。

スケージューリング

参照

サポートされているバージョン

説明

cgroup v1のCPUバースト機能の有効化

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-22.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

Alibaba Cloud Linuxは、cgroup v1インターフェイスのCPUバースト機能を提供します。 CPUバースト機能により、CPUスロットルコンテナはCPU使用率をバーストして、より高いパフォーマンスとより低いレイテンシを実現できます。

グループID機能

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-24.al7以降

  • Alibaba Cloud Linux 3カーネルバージョン5.10.46-7.al8以降

Alibaba Cloud Linuxは、グループID機能を提供します。 この機能を使用すると、CPU cgroupsに異なるIDを設定して、cgroups内のプロセスタスクに優先順位を付けることができます。

互換性

参照

サポートされているバージョン

説明

/proc/meminfoファイルの匿名ページの統計的状態変化

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-22.al7以降

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

Alibaba Cloud Linuxカーネルバージョン4.19.91-22.al7以降では、/proc/meminfoファイルの匿名ページの統計的な状態Active(anon) およびInactive(anon) が変更されます。 アプリケーションが統計を使用する場合、変更の前後で照会されたデータに一貫性がありません。

その他

参照

サポートされているバージョン

説明

コンテナーリソースの可視性の向上

  • Alibaba Cloud Linux 2カーネルバージョン4.19.91-22.2.al7以降

  • Alibaba Cloud Linux 3カーネルバージョン5.10.46-7.al8以降

Alibaba Cloud Linuxは、コンテナリソースの可視化機能のカーネルインターフェースを提供し、コンテナリソースの可視化を強化します。

Alibaba Cloud Linuxのユーザー名前空間のセキュリティ強化

  • すべてのAlibaba Cloud Linux 3カーネルバージョン

  • すべてのAlibaba Cloud Linux 2カーネルバージョン

Linuxはユーザー名前空間機能をサポートしています。 この機能により、プロセスは異なるユーザーIDとグループIDを異なるユーザー名前空間に持ち、権限を分離できます。 ただし、ユーザー名前空間機能を有効にすると、システムに対する特権エスカレーション攻撃のリスクが高まります。 攻撃者は、システムの脆弱性を悪用して特権権限を取得し、システム権限制御をバイパスする可能性があります。