全部產品
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_copystats介面樣本如下。

  • 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。