このトピックでは、Alibaba Cloud Linuxでサポートされているカーネル機能とインターフェイスについて説明します。 このトピックは、Linuxカーネルに精通しており、Linuxカーネルの機能を使用したいユーザーを対象としています。
メモリ
参照 | サポートされているバージョン | 説明 |
| Alibaba Cloud LinuxはMemcg Exstat機能をサポートしています。 コミュニティバージョンのLinuxカーネルと比較して、Alibaba Cloud LinuxカーネルはMemcg Exstat機能用に次のcgroup v1インターフェイスをサポートしています: memory.events、memory.events.local、memory.stat。 Alibaba Cloud Linuxカーネルは、memcgグローバル最小ウォーターマークとバックエンド非同期リクラメーションの変更によるレイテンシに関する統計も提供します。 | |
| Alibaba Cloud Linuxは、memcgグローバル最小透かし評価機能を提供します。 リソース集約型タスクのグローバル最小透かしは、直接メモリ再利用をトリガするために増加される。 待ち時間に敏感なタスクのグローバル最小透かしは、直接メモリ再利用を防ぐために減少される。 リソースを大量に消費するタスクが大量のメモリを要求すると、グローバル最小ウォーターマークが増加し、タスクによって使用されるリソースを短時間で制限して、レイテンシに敏感なタスクの直接メモリの再利用を防ぎます。 グローバルkswapdバックエンドの再利用を使用して特定の量のメモリが再利用されると、リソースを大量に消費するタスクは抑制されなくなります。 | |
| memcgサービス品質 (QoS) 機能は、memcg内のメモリ使用量のロックと制限を制御するために使用できます。 Linuxカーネルのコミュニティバージョンでは、memcg QoS機能はcgroup v2インターフェイスによってのみサポートされます。 Alibaba Cloud Linuxカーネルでは、memcg QoS機能もcgroup v1インターフェイスでサポートされています。 | |
| Alibaba Cloud Linuxは、memcgsのバックエンド非同期再利用機能を提供します。 バックエンド非同期再利用機能は、グローバルkswapdカーネルスレッドとは異なります。 この機能は、対応するmemcg kswapdカーネルスレッドの代わりにワークキューメカニズムを使用します。 | |
| Alibaba Cloud Linuxは、メモリ不足 (OOM) 優先ポリシー機能を提供します。 memcg OOM優先度ポリシー機能がOOM操作を実行しようとすると、機能はcgroupsの優先度を決定し、操作を実行するために優先度の低いcgroupを選択します。 | |
| Alibaba Cloud Linuxは、透過的な巨大ページ (THP) の回収機能を提供します。 この機能を使用して、OOMエラーなどのTHPによって引き起こされるメモリ使用量の問題を修正できます。 | |
| Alibaba Cloud Linuxは、巨大ページ機能をサポートしています。 巨大ページ機能は、大規模なコードセグメントを含むビジネスシナリオに適しています。 この機能を使用して、アプリケーションおよびダイナミックリンクライブラリ (DLL) の実行可能部分を巨大なページに割り当てて、命令変換索引バッファ (iTLB) のミスを減らし、CPUの2 MBのiTLB使用率を高めることができます。 これにより、アプリケーションのパフォーマンスが向上します。 | |
x86アーキテクチャの場合はAlibaba Cloud Linux 3カーネルバージョン | Alibaba Cloud Linux 3は、Kernel Electric-Fence (KFENCE) 機能をサポートしています。 Alibaba Cloud Linux 3では、KFENCEを柔軟かつ動的に有効または無効にし、メモリ汚染の問題を完全に把握できます。 これにより、Alibaba Cloud Linux 3は、メモリ汚染問題のオンライン検出とオフラインデバッグのバランスを取ります。 | |
Alibaba Cloud Linux 3カーネルバージョン | Alibaba Cloud Linux 3は、ページキャッシュ制限機能を提供します。 この機能は、ビジネスのジッターや予期しないOOMエラーなど、無制限のページキャッシュ使用によって引き起こされるシステムの不安定性を解決するのに役立ちます。 | |
Alibaba Cloud Linux 3カーネルバージョン | 非均一メモリアクセス (NUMA) アーキテクチャ、特にArmベースのElastic Compute Service (ECS) インスタンスでは、各NUMAノードにローカルメモリがあります。 1つのNUMAノード上のプログラムまたはプロセスが他のNUMAノード上のコードスニペットにアクセスする必要がある場合、クロスノードアクセスは追加のレイテンシおよびパフォーマンスオーバーヘッドを引き起こします。 上記の問題を解決するには、code duptext機能を使用して、リモートノードからオンプレミスノードにコードスニペットをコピーします。 |
ネットワーク
参照 | サポートされているバージョン | 説明 |
Alibaba Cloud Linux 3カーネルバージョン | Alibaba Cloud Linux 3は、RDMA (SMC-R) による共有メモリ通信をサポートするように最適化されています。 SMC-RはAlibaba Cloud elastic remote direct memory access (eRDMA) に基づいており、機能を失うことなくアプリケーションのTCPを透過的に置き換えることができます。 SMC-Rにより、インメモリデータベース、リモートプロシージャコール (RPC) 、大容量ファイル転送などのさまざまなシナリオで、高速、低レイテンシ、およびメモリ間の直接通信が可能になり、TCPよりも高いパフォーマンスが得られます。 | |
| Alibaba Cloud Linuxは、TCP層サービスモニタリング (TCP-RT) をサポートしています。 TCP-RTはTRACEメソッドです。 TCP-RTにより、カーネルベースのTCPスタックでイベント追跡を構成して、1つの接続で1つの同時リクエストとレスポンスしか伝送しない場合にリクエストとレスポンスを識別できます。 その後、TCPスタックでリクエストを受信するのに必要な時間やリクエストを処理するのに必要な時間などの情報を取得できます。 TCP-RTはまた、カーネルシステムにおける統計分析をサポートし、定期的に特定の接続に関する統計を生成する。 | |
| Linuxカーネルでは、TCP/IP接続は60秒間TIME-WAIT状態のままです。 この期間の長さは変更できません。 ただし、TCP負荷が重いシナリオなど、特定のシナリオでは、ネットワークパフォーマンスを向上させるためにこの期間を短縮する必要があります。 上記のシナリオでネットワークパフォーマンスを最適化するために、Alibaba Cloud Linux 2は、システムが接続を閉じる前にTCP/IP接続がTIME-WAIT状態のままである期間を変更するためのカーネルインターフェイスを提供します。 | |
| デフォルトでは、LinuxオペレーティングシステムのIP仮想サーバー (IPVS) モジュールは推定機能を有効にします。 大規模なKubernetesクラスターシナリオなど、大規模なサーバーが多数のサービスをホストするシナリオでは、サーバーがネットワークリクエストを処理するときに、推定機能により数十〜数百ミリ秒のレイテンシまたはネットワークジッターが発生する可能性があります。 Alibaba Cloud LinuxイメージのIPVSの見積もり機能を無効にできます。 この機能を使用してパケット数や接続数などの統計情報を収集しない場合は、IPVSの推定機能を無効にして、統計情報収集中に発生する追加のオーバーヘッドやジッターを排除することをお勧めします。 | |
Alibaba Cloud Linux 3カーネルバージョン | Anti-DDoS Proxyを使用する場合など、FULLNATシナリオでは、クライアントのアドレスがFULLNATノードのアドレスに変換されます。 クライアントの実際のアドレスを取得するには、カーネルバージョン |
ストレージ
参照 | サポートされているバージョン | 説明 |
| Alibaba Cloud Linuxは、cgroup v1インターフェイスのcgroupライトバック機能を提供します。 cgroupライトバック機能を使用すると、cgroup v1インターフェイスを使用するときに、バッファリングされたI/Oレートを制限できます。 | |
| Alibaba Cloud Linuxは、コストモデルに基づいた重みベースのスロットリング機能 (blk-iocost) を提供します。 blk-iocost機能は、カーネル内のI/Oサブシステム (blkcg) の重みベースのディスクスロットリング機能の改善です。 | |
| Alibaba Cloud Linuxは、LinuxブロックI/Oスロットリングをより適切に監視するためのインターフェイスを提供します。 | |
| JBD2はExt4ファイルシステムのカーネルスレッドです。 ほとんどの場合、JBD2は使用時にシャドウ (BH_Shadow) 状態になり、システムパフォーマンスに影響を与える可能性があります。 上記の問題を解決するために、Alibaba Cloud LinuxはJBD2を最適化するインターフェイスを提供します。 | |
| デフォルトでは、Ext4ファイルシステムは、プロジェクトクォータ間でハードリンクが作成されないように制限を課します。 ただし、特定のシナリオでは、プロジェクトクォータ間でハードリンクを作成する必要があります。 Alibaba Cloud Linuxは、Ext4ファイルシステムの制限を回避し、プロジェクトクォータ間でハードリンクを作成するためのカスタムインターフェイスを提供しています。 | |
| Alibaba Cloud Linuxは、I/Oレイテンシ分析ツールiostatの生データを提供する /proc/diskstatsインターフェイスを最適化します。 Alibaba Cloud Linuxは、デバイス側での読み取り、書き込み、および特殊I/O (破棄) 操作の期間を計算できます。 Alibaba Cloud Linuxは、I/Oレイテンシを追跡するためのBPFコンパイラコレクション (BCC) ツールセットも提供しています。 | |
| I/Oハングは、時間のかかるI/O要求によりシステムが不安定になったり故障したりすると発生します。 Alibaba Cloud Linuxは、コアデータ構造を拡張し、低いシステムオーバーヘッドでI/Oハングを見つけて検出する機能を提供します。 | |
| Linuxは先読み技術を使用して、データをプリフェッチしてページキャッシュにデータをロードすることでファイルアクセスを高速化します。 Linuxは、インターリーブされたシーケンシャルストリームを検出してファイルアクセスのパフォーマンスを最適化できるコンテキスト先読みアルゴリズムもサポートしています。 しかしながら、特定のランダムアクセスシナリオでは、コンテキスト先読みアルゴリズムは、判断が不十分になる傾向があり、必要以上に多くのページをプリフェッチする可能性がある。 上記のシナリオでは、コンテキスト先読み機能を無効にして、アプリケーションのパフォーマンスを大幅に向上させることができます。 | |
Alibaba Cloud Linux 3カーネルバージョン | ターゲットコアモジュール (TCM) は、カーネル内インターネットスモールコンピュータシステムインターフェイス (iSCSI) ターゲットであるLinux-IOターゲット (LIO) の別名です。 ユーザ空間におけるTCM (TCMU) は、LIOのユーザ空間実装である。 TCMUにより、ユーザ空間プログラムは、便利な方法で様々なユーザ空間バックエンド実装と協調することができる。 TCMUフレームワークとLIOループバック (tcm_loop) モジュールに基づいて、ユーザースペースiSCSIターゲットを簡単に実装できます。 |
モニタリング
参照 | サポートされているバージョン | 説明 |
Alibaba Cloud Linux 3カーネルバージョン | Alibaba Cloud Linux 3は、カーネルバージョン | |
| Alibaba Cloud Linuxは、cgroup v1インターフェイスに圧力ストール情報 (PSI) 機能を提供します。 PSI機能を使用すると、CPU、メモリ、およびI/Oパフォーマンスを監視できます。 |
スケージューリング
参照 | サポートされているバージョン | 説明 |
| Alibaba Cloud Linuxは、cgroup v1インターフェイスのCPUバースト機能を提供します。 CPUバースト機能により、CPUスロットルコンテナはCPU使用率をバーストして、より高いパフォーマンスとより低いレイテンシを実現できます。 | |
| Alibaba Cloud Linuxは、グループID機能を提供します。 この機能を使用すると、CPU cgroupsに異なるIDを設定して、cgroups内のプロセスタスクに優先順位を付けることができます。 |
互換性
参照 | サポートされているバージョン | 説明 |
| Alibaba Cloud Linuxカーネルバージョン |
その他
参照 | サポートされているバージョン | 説明 |
| Alibaba Cloud Linuxは、コンテナリソースの可視化機能のカーネルインターフェースを提供し、コンテナリソースの可視化を強化します。 | |
| Linuxはユーザー名前空間機能をサポートしています。 この機能により、プロセスは異なるユーザーIDとグループIDを異なるユーザー名前空間に持ち、権限を分離できます。 ただし、ユーザー名前空間機能を有効にすると、システムに対する特権エスカレーション攻撃のリスクが高まります。 攻撃者は、システムの脆弱性を悪用して特権権限を取得し、システム権限制御をバイパスする可能性があります。 |