如何在 Linux 中檢查磁盤隊列長度

平均磁盤隊列長度是在所選設備的所選時間間隔內排隊的讀取和寫入操作的平均數量。 觀察它們很重要,因為這些值提供了存儲性能的一種表示形式。 較高的值表示該數量無法繼續來自設備的請求,從而導致響應時間較長。

在本教程中,我們將學習如何 檢查磁盤隊列長度 使用 Linux 命令。

使用iostat命令

在 Linux/Unix 系統中,iostat 命令主要用於生成輸入/輸出設備的統計信息。

iostat 實用工具是 系統統計 包裹。 如果未找到,請使用以下命令安裝 sysstat:

$ sudo apt install sysstat -y [On ubuntu]
$ sudo yum install sysstat -y [On centos]

顯示 平均磁盤隊列長度 使用帶有 -x 選項的 iostat,這將提供擴展的統計信息。 場 aqu-sz 指示發送到設備的請求的平均隊列長度或正在進行的 IO 數量的整數平均值。 在舊版本中,該字段將是 avgqu-sz。

$ iostat -x

iostat – 磁盤平均隊列長度

使用 sar 命令

Sar 命令用於實時監控 Linux 系統的性能,包括 CPU、內存和 I/O。 Sar 是 sysstat 包的一部分。

帶有 -d 選項的 sar 命令顯示每個塊設備的活動。 要打印,具有實際設備名稱的統計信息添加另一個 -p 選項。

aqu-sz 有助於找到平均隊列長度。 iostat 命令的字段相同。

$ sar -p -d 1 1

sar 命令 – 檢查磁盤隊列長度

來自 /proc/diskstats

/proc/diskstats 文件顯示塊設備的 I/O 統計信息。 此命令返回的結果始終是原始值。

從內核版本 5.5+ 開始, /proc/diskstats 共包含 20 個字段。

#14 – 花費在 I/O 上的加權時間(毫秒)

平均磁盤隊列長度可以通過檢查數據變化來計算 第十四場 在一段時間內。

要顯示 /proc/diskstats 的內容並按特定磁盤過濾,請鍵入:

$ cat / proc / diskstats | grep ‘sda’

輸出:

8 0 sda 15728 6935 1377412 10839 28870 15373 995570 49457 0 36360 60296 0 0 0 0 0 0

結論

在本教程中,我們了解了在 Linux 系統中檢查磁盤隊列長度的不同命令行實用工具。