全部產品
Search
文件中心

Alibaba Cloud Linux:JBD2最佳化介面

更新時間:Jul 17, 2024

JBD2作為ext4檔案系統的核心線程,在使用過程中常會遇到影子狀態(BH_Shadow),影響系統效能。為解決使用JBD2過程中出現的異常,Alibaba Cloud Linux 2(核心版本4.19.81-17.al7開始)和Alibaba Cloud Linux 3對JBD2進行了最佳化。本文主要介紹最佳化JBD2的介面。

背景資訊

ext4作為最常用的記錄檔系統之一,更新日誌(journal)的核心線程為JBD2,JBD2對ext4檔案系統而言,是一個全域資源。您在使用過程中,可能出現JBD2核心線程對緩衝嘗試擷取存取權限時,發生快取頁面處於影子狀態(BH_Shadow),從而引發JBD2持續等待快取頁面回寫到磁碟的時間過長的情況,該情況會影響系統效能。因此Alibaba Cloud Linux針對特定情境進行了最佳化,增加了核心介面force_copy,允許使用者啟用最佳化功能,以強制進行快取頁面拷貝,從而減少在快取頁面處於影子狀態的等待。同時,為了輔助分析檔案系統相關的服務品質(QoS)中的問題,Alibaba Cloud Linux增加了一個JBD2的相關資訊統計介面stats。

介面說明

介面

描述

force_copy

介面位於/proc/fs/jbd2/<device>-8/force_copy,其中變數device指Block Storage裝置名稱。當設定force_copy介面後,系統強制進行資料拷貝操作,從而減少處於BH_Shadow時的等待。

重要

設定該介面後會額外消耗一定的記憶體。

stats

介面位於/proc/fs/jbd2/<device>-8/stats。用於輔助確認檔案系統的QoS中的問題是否因JBD2引發。

介面樣本

force_copy和stats介面樣本如下。

  • force_copy介面預設為關閉狀態。將介面設定為1表示調用該介面;設定為0表示關閉該介面。

    echo 1 > /proc/fs/jbd2/nvme0n1-8/force_copy    # 調用介面
  • 使用以下命令查看stats介面。

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

    返回結果如下。

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

    返回結果中,各域說明如下。

    域

    描述

    第1個域

    事務ID。

    第2個域

    請求的事務數。

    第3個域

    最大事務緩衝。

    第4個域

    事務等待時間。

    第5個域

    事務請求延遲。

    第6個域

    事務已耗用時間。

    第7個域

    事務鎖住時間。

    第8個域

    事務重新整理時間。

    第9個域

    事務logging時間。

    第10個域

    平均提交時間。

    第11個域

    事務包含的原子操作handle個數。

    第12個域

    事務包含的塊數。

    第13個域

    事務已記錄的塊數。

    第14個域

    HZ(核心配置中的時間常量)。

    第15個域

    HZ轉化為ms。