web-dev-qa-db-ja.com

Linuxで現在のディスクIOキューの長さを表示するにはどうすればよいですか?

Linuxカーネル用の新しいIOスケジューラーに取り組んでいます。未処理の合計数を出力するツールを誰かが知っているかどうかを確認しようとしていますIO Linuxでのリクエスト(ディスクIOキュー)?

私はターミナルから作業します。

ありがとうございました!

9
KZcoding

ここで巨大なネクロを許してください。実際には、最後のiostatが実行されてからの問題のデバイスの拡張統計を表示するiostat -xが必要です。キューをリアルタイムで監視する場合は、iostat -xt 1(またはiostat -xmt 1で詳細をメガバイト単位で表示)が必要です。

avgqu-sz列に平均キューサイズが表示されます。

iostat -xmt 1からの次の出力例を考えてみます。これは、ベンチマーク中に完全なIOキュー(このデバイスの最大キュー長は128)と飽和ディスク)を示しています。

18/05/15 00:41:05
avg-cpu:  %user   %Nice %system %iowait  %steal   %idle
           0.00    0.00    0.00    6.02    0.00   93.98

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
xvda              0.00     0.00    1.00 1308.00     0.00   163.50   255.81   133.30  101.15   0.76 100.00
27
daveh
dmitry@pro:~$ iostat 
          disk0       cpu     load average
    KB/t tps  MB/s  us sy id   1m   5m   15m
   50.70  34  1.70   4  3 93  1.83 1.65 1.70
dmitry@pro:~$ 

説明Iostatは、端末、デバイス、およびCPU操作に関するカーネルI/O統計を表示します。印刷される最初の統計は、システムの稼働時間全体で平均化されます。現在のアクティビティに関する情報を取得するには、適切な待機時間を指定して、印刷された統計の後続のセットがその時間にわたって平均化されるようにする必要があります。

1