/sys/block/<dev>/stat 中的塊層統計資訊

此檔案記錄了 /sys/block/<dev>/stat 檔案的內容。

stat 檔案提供了關於塊裝置 <dev> 狀態的幾個統計資訊。

  1. 為什麼單個檔案中存在多個統計資訊? sysfs 通常不是每個檔案包含一個值嗎?

  1. 透過使用單個檔案,核心可以保證統計資訊代表裝置狀態的一致快照。如果統計資訊匯出為包含每個統計資訊的多個檔案,則無法保證一組讀數代表單個時間點。

stat 檔案由單行文字組成,其中包含 17 個用空格分隔的十進位制值。 下表概述了這些欄位,並在下面進行了更詳細的描述。

名稱

單位

描述

讀取 I/O

請求

已處理的讀取 I/O 的數量

讀取合併

請求

與佇列中的 I/O 合併的讀取 I/O 的數量

讀取扇區

扇區

讀取的扇區數

讀取節拍

毫秒

讀取請求的總等待時間

寫入 I/O

請求

已處理的寫入 I/O 的數量

寫入合併

請求

與佇列中的 I/O 合併的寫入 I/O 的數量

寫入扇區

扇區

寫入的扇區數

寫入節拍

毫秒

寫入請求的總等待時間

in_flight

請求

當前正在處理的 I/O 的數量

io_ticks

毫秒

此塊裝置處於活動狀態的總時間

time_in_queue

毫秒

所有請求的總等待時間

丟棄 I/O

請求

已處理的丟棄 I/O 的數量

丟棄合併

請求

與佇列中的 I/O 合併的丟棄 I/O 的數量

丟棄扇區

扇區

已丟棄的扇區數

丟棄節拍

毫秒

丟棄請求的總等待時間

重新整理 I/O

請求

已處理的重新整理 I/O 的數量

重新整理節拍

毫秒

重新整理請求的總等待時間

讀取 I/O、寫入 I/O、丟棄 I/0

這些值在 I/O 請求完成時遞增。

重新整理 I/O

這些值在重新整理 I/O 請求完成時遞增。

塊層組合重新整理請求並一次最多執行一個。 這計算由磁碟執行的重新整理請求。 不會為分割槽跟蹤。

讀取合併、寫入合併、丟棄合併

當 I/O 請求與已排隊的 I/O 請求合併時,這些值會遞增。

讀取扇區、寫入扇區、discard_sectors

這些值計算從該塊裝置讀取、寫入或丟棄的扇區數。 所討論的“扇區”是標準的 UNIX 512 位元組扇區,而不是任何裝置或檔案系統特定的塊大小。 這些計數器在 I/O 完成時遞增。

讀取節拍、寫入節拍、丟棄節拍、重新整理節拍

這些值計算 I/O 請求在此塊裝置上等待的毫秒數。 如果有多個 I/O 請求正在等待,這些值將以大於 1000/秒 的速率增加; 例如,如果 60 個讀取請求平均等待 30 毫秒,則 read_ticks 欄位將增加 60*30 = 1800。

in_flight

此值計算已發出到裝置驅動程式但尚未完成的 I/O 請求的數量。 它不包括佇列中但尚未發出到裝置驅動程式的 I/O 請求。

io_ticks

此值計算裝置已將 I/O 請求排隊的時間(以毫秒為單位)。

time_in_queue

此值計算 I/O 請求在此塊裝置上等待的毫秒數。 如果有多個 I/O 請求正在等待,則此值將以毫秒數乘以等待請求數的乘積增加(有關示例,請參見上面的“讀取節拍”)。