用於檢測檢視磁碟活動的Linux命令
Linux系統提供了一套方便的命令,可以幫助您檢視磁碟的繁忙程度,而不僅僅是有多滿。 在這篇文章中,我們將研究五個非常有用的命令來檢視磁碟活動。 可能必須將兩個命令(iostat和ioping)新增到您的系統中,這兩個命令要求您使用sudo許可權,但所有五個命令都提供了檢視磁碟活動的有用方法。
可能這些命令中最容易和最明顯的一個是dstat。
dstat
儘管dstat命令以字母“d”開頭,但它提供的資料不僅僅是磁碟活動。 如果要僅檢視磁碟活動,可以使用-d選項。 如下所示,您將獲得連續的磁碟讀/寫測量列表,直到您使用^ c停止顯示。 請注意,在第一個報告之後,顯示中的每個後續行將在以下時間間隔內報告磁碟活動,預設值僅為一秒。
在-d選項後面加一個數字會將間隔設定為該秒數。
注意,報告的資料可以以許多不同的單位顯示 - 例如,M(兆位元組),k(千位元組)和B(位元組)。
如果沒有選項,dstat命令也會向您顯示許多其他資訊 - 指示CPU如何花費時間,顯示網路和分頁活動,以及報告中斷和上下文切換。
dstat命令提供了對整體Linux系統性能的寶貴見解,幾乎用一組結合其功能的靈活而強大的命令取代了vmstat,netstat,iostat和ifstat等舊工具的集合。 有關dstat命令可以提供的其他資訊的更多資訊,請參閱dstat命令上的這篇文章。
iostat
iostat命令通過觀察裝置相對於其平均傳輸速率的活動時間來幫助監視系統輸入/輸出裝置負載。 它有時用於評估磁碟之間的活動平衡。
avg-cpu: %user %nice %system %iowait %steal %idle
4.76 0.10 2.00 0.17 0.00 92.97
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
loop0 0.01 0.06 0.00 680 0
loop1 0.03 0.19 0.00 2291 0
loop2 0.01 0.02 0.00 219 0
loop3 0.04 0.18 0.00 2215 0
loop4 0.04 0.19 0.00 2256 0
loop5 0.01 0.02 0.00 220 0
loop6 0.01 0.02 0.00 228 0
當然,當您只想專注於磁碟時,Linux環路裝置上提供的所有統計資訊都會使顯示混亂。 但是,該命令提供了-p選項,允許您只檢視磁碟 - 如下面的命令所示。
avg-cpu: %user %nice %system %iowait %steal %idle
4.76 0.12 2.00 0.17 0.00 92.95
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 16.59 322.89 310.22 3942493 3787784
sda1 16.58 322.64 310.22 3939409 3787784
請注意,tps指的是每秒傳輸次數。
您也可以通過iostat提供重複報告。 在下面的示例中,我們使用-d選項每五秒進行一次測量。
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 16.55 321.79 309.15 3944097 3789224
sda1 16.54 321.54 309.15 3941013 3789224
如果您希望省略第一個(啟動後的統計資訊)報告,請在命令中新增-y。
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.64 0.00 10.19 0 48
sda1 0.64 0.00 10.19 0 48
如果是兩個磁碟,可以看看第二個磁碟驅動器,命令如下:
iotop
iotop命令是用於檢視磁碟I/O的頂級實用程式。 它收集Linux核心提供的I/O使用資訊,以便您瞭解哪些程序在磁碟I/O方面最苛刻。 在下面的示例中,迴圈時間已設定為5秒。 顯示屏將自動更新,覆蓋以前的輸出。
Total DISK READ : 0.00 B/s | Total DISK WRITE : 3.18 K/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 7.95 K/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
389 be/3 root 0.00 B/s 3.18 K/s 0.00 % 0.01 % [jbd2/sda1-8]
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init splash
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_gp]
4 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_par_gp]
6 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/~-kblockd]
8 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [mm_percpu_wq]
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
ioping
ioping命令是一種完全不同型別的工具,但它可以報告磁碟延遲 - 磁碟響應請求所需的時間 - 並且可以幫助診斷磁碟問題。
atop
atop命令和top一樣,提供了很多關於系統性能的資訊,包括一些關於磁碟活動的統計資訊。
如果您只想檢視磁碟統計資訊,可以使用以下命令輕鬆管理:
瞭解磁碟I/O
Linux提供了足夠的命令,可以讓您深入瞭解磁碟執行的難度,並幫助您專注於潛在的問題或減速。 希望其中一個命令可以告訴您在詢問磁碟效能時需要知道的內容。 偶爾使用這些命令有助於確保在需要檢查時特別忙或慢的磁碟是顯而易見的。