日本語PDF

XFSファイルでのHugePages動作の確認

最適なパフォーマンスを得るには、HugePagesマッピングを使用して、DAX対応ストレージに配置されたデータ・ファイルを仮想アドレス空間にマップします。メモリーマップド・ファイルの場合は、ページが初めてアクセスされたときに仮想アドレスから物理アドレスへの変換を設定します。

HugePagesマッピングを使用してDAXを介してページをマップする場合、ページではページキャッシュ・ページを使用しません。

トレースを有効にして、ページフォルト・ハンドラの粒度が2 MB以下であるかどうかと、ページ・キャッシュをバイパスするかどうかを確認できます。

  1. このトレースを表示するには、rootとしてログインして次のトレース有効化コマンドを実行します。
    # echo 1 >
    /sys/kernel/debug/tracing/events/fs_dax/dax_pmd_fault_done/
    enable
  2. rootからログアウトし、DAXにマウントされたXFSファイル・システムにファイルを作成し、omsfscmdsユーティリティを使用してmkfsを実行します。
  3. rootとして再度ログインして次のコマンドを実行し、生成されたトレースを確認します。
    # cat /sys/kernel/debug/tracing/trace

    ページ・キャッシュをバイパスする通常の2 MBのページ・フォルトには次のトレースが表示され、トレースの最後にNOPAGEが表示されます。

    oms_test-21456 [024] .... 13566209.645007: dax_pmd_fault_done:
    dev 259:10 ino 0x2005 shared ALLOW_RETRY|KILLABLE|USER address
    0x7fb717e01000 vm_start 0x7fb717e00000 vm_end 0x7fb997e00000
    pgoff 0x1 max_pgoff 0x280000 NOPAGE

    ページ・フォルトが4 KB未満の粒度で発生した場合は、ページ・フォルト・ハンドラ・トレースにFALLBACKが表示されます。これは、2 MBの粒度のページ・フォルト・ハンドラが失敗し、ページ・キャッシュを介したフォールバック・パスが実行されることを示します。FALLBACKトレースを示しているシステムは、OMSの実行に使用しないでください。

    oms_test-21456 [024] .... 13566209.646801: dax_pmd_fault_done:
    dev 259:9 ino 0xc3 shared WRITE|ALLOW_RETRY|KILLABLE|USER
    address 0x7fb717e0c000 vm_start 0x7fb717e00000 vm_end
    0x7fb997e00000 pgoff 0xc max_pgoff 0x280000 FALLBACK
    
  4. トレースは、パフォーマンスに大きく影響します。ワークロードを実行する前に、トレースを無効にする必要があります。トレースを無効にするには、rootとしてログインし、次のコマンドを実行します。
    # echo 0 >
    /sys/kernel/debug/tracing/events/fs_dax/dax_pmd_fault_done/
    enable

関連トピック