I am working on a new IO scheduler for the Linux Kernel. I am trying to see if anyone knows of a tool that prints out total number of outstanding IO requests (Disk IO queue) in Linux?
我正在為Linux內核開發一個新的IO調度器。我想知道是否有人知道在Linux中打印未完成IO請求(磁盤IO隊列)的工具?
I would be working from a terminal.
我會在終點站工作。
Thank you!
謝謝你!
2 个解决方案
#1
21
Forgive the massive necro here. You actually want iostat -x which will display the extended stats for the device in question since last iostat was run. If you wish to monitor the queue in realtime you want iostat -xt 1 (or iostat -xmt 1 to show details in megabytes).
原諒這里的死靈。實際上,您需要iostat -x,它將顯示自上次iostat運行以來所使用的設備的擴展屬性。如果希望實時監視隊列,則需要iostat -xt 1(或iostat -xmt 1以兆字節顯示詳細信息)。
You can see the average queue size in the avgqu-sz column.
您可以在avgquq -sz列中看到平均隊列大小。
Consider the following example output from iostat -xmt 1 which shows a full IO queue (max queue length is 128 for this device) and a saturated disk during a benchmark.
考慮下面來自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
#2
1
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:~$
DESCRIPTION Iostat displays kernel I/O statistics on terminal, device and cpu opera- tions. The first statistics that are printed are averaged over the sys- tem uptime. To get information about the current activity, a suitable wait time should be specified, so that the subsequent sets of printed statistics will be averaged over that time.
描述Iostat在終端、設備和cpu opera上顯示內核I/O統計信息。打印出來的第一個統計數據是在系統運行時求平均值。為了獲得關於當前活動的信息,應該指定一個合適的等待時間,以便在此期間對后續打印的統計數據集進行平均。