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

Alibaba Cloud Linux:JBD2最適化インターフェイスの使用

最終更新日:Jul 10, 2024

JBD2はext4ファイルシステムのカーネルスレッドです。 JBD2は、使用中にシャドウ (BH_Shadow) 状態になることが多く、システムのパフォーマンスに影響を与える可能性があります。 この問題を解決するために、カーネルバージョン4.19.81-17.al7から始まるAlibaba Cloud Linux 2およびAlibaba Cloud Linux 3でJBD2を最適化するインターフェイスが提供されています。 このトピックでは、インターフェイスについて説明します。

背景情報

Ext4は、最も一般的なジャーナリングファイルシステムの1つです。 JBD2は、ジャーナルを更新するためのext4のカーネルスレッドであり、ext4ファイルシステムのグローバルリソースです。 JBD2カーネルスレッドがキャッシュからアクセス許可を取得しようとすると、キャッシュページはBH_Shadow状態になります。 この場合、JBD2は、キャッシュページがディスクにライトバックするまで長時間待機します。これは、システムパフォーマンスに影響を与える可能性があります。 この問題を解決するために、Alibaba Cloud LinuxはJBD2を最適化するためのforce_copyカーネルインターフェイスを提供しています。 このインターフェイスを有効にして、キャッシュページを強制的にコピーできます。 これにより、BH_ShadowステートのキャッシュページがディスクにライトバックするのをJBD2が待機する時間を短縮できます。 さらに、Alibaba Cloud Linuxは、ファイルシステムに関連するサービス品質 (QoS) の問題の分析に役立つ統計インターフェイスを提供します。

インターフェイス説明

インターフェイス

説明

force_copy

インターフェイスファイルは /proc/fs/jbd2/<device>-8/force_copyに保存されます。device変数はブロックストレージデバイスの名前を指定します。 force_copyインターフェイスを有効にすると、システムは強制的にデータをコピーしてJBD2の待機時間を短縮します。

重要

インターフェイスは実行するためにメモリを消費します。

統計

インターフェイスファイルは /proc/fs/jbd2/<device>-8/statsに保存されます。 インターフェースは、ファイルシステムのQoS問題がJBD2によって引き起こされるかどうかを判断するのに役立ちます。

次の例は、force_copyおよびstatsインターフェイスを実装する方法を示しています。

  • デフォルトでは、force_copyインターフェイスは無効になっています。 インターフェイスを有効にするにはインターフェイスの値を1に設定し、インターフェイスを無効にするには値を0に設定します。

    echo 1 > /proc/fs/jbd2/nvme0n1-8/force_copy    # Call the interface.
  • 次のコマンドを実行して、statsインターフェイスを照会します。

    cat /proc/fs/jbd2/nvme0n1-8/stats

    以下のようなコマンド出力が返されます。

    337 336 65536 0 14837 1701504 16 0 20058 5 33082732 605 942 1000 1000

    次の表に、上記のサンプル出力のフィールドを示します。

    項目

    説明

    最初のフィールド

    トランザクションID。

    2番目のフィールド

    要求されたトランザクションの数。

    3番目のフィールド

    キャッシュされたトランザクションの最大数。

    4番目のフィールド

    翻訳が処理の待機に費やした時間。

    5番目のフィールド

    トランザクションリクエストのレイテンシ。

    6番目のフィールド

    トランザクションが実行された時間。

    第7フィールド

    トランザクションがロックされた時間。

    第8フィールド

    トランザクションの更新にかかった時間。

    第9フィールド

    トランザクションのログにかかった時間。

    10番目のフィールド

    トランザクションのコミットにかかった平均時間。

    第11フィールド

    トランザクションに含まれるハンドルの数。

    第12フィールド

    トランザクションに含まれるブロックの数。

    13番目のフィールド

    トランザクションに対して記録されたブロックの数。

    14番目のフィールド

    カーネル構成の時定数。 単位: ヘルツ。

    15番目のフィールド

    カーネル構成の時定数。 単位:ms。