iotop是top和iostat程序的混合體,可以顯示系統中全部運行進程並將進程根據I/O統計信息排序。ios
這個軟件使用了Linux內核的一些新特性,因此須要2.6.20或者更新的內核。編程
通常默認狀況下沒有安裝這個程序,安裝方法:ui
[root@host2 ~]# yum -y install iotop
安裝完成後,直接輸入iotop就能夠看到信息:spa
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 21 2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd] 3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0] 5 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H] 7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0] 8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh]
…………
…………
各個參數說明:線程
-o, --only只顯示正在產生I/O的進程或線程。除了傳參,能夠在運行過程當中按o生效。
-b, --batch非交互模式,通常用來記錄日誌。
-n NUM, --iter=NUM設置監測的次數,默認無限。在非交互模式下頗有用。
-d SEC, --delay=SEC設置每次監測的間隔,默認1秒,接受非整形數據例如1.1。
-p PID, --pid=PID指定監測的進程/線程。
-u USER, --user=USER指定監測某個用戶產生的I/O。
-P, --processes僅顯示進程,默認iotop顯示全部線程。
-a, --accumulated顯示累積的I/O,而不是帶寬。
-k, --kilobytes使用kB單位,而不是對人友好的單位。在非交互模式下,腳本編程有用。
-t, --time 加上時間戳,非交互非模式。
-q, --quiet 禁止頭幾行,非交互模式。有三種指定方式。
-q 只在第一次監測時顯示列名
-qq 永遠不顯示列名。
-qqq 永遠不顯示I/O彙總。
交互按鍵:
和top命令相似,iotop也支持如下幾個交互按鍵。
left和right方向鍵:改變排序。
r:反向排序。
o:切換至選項--only。
p:切換至--processes選項。
a:切換至--accumulated選項。
q:退出。
i:改變線程的優先級。日誌
一些經常使用輸入例子:code
#時間刷新間隔3秒,輸出3次 [root@host2 ~]# iotop -d 3 -n 3 #非交互式,輸出3次,間隔3秒,輸出到屏幕,也可輸出到日誌文本,用於監控某時間段的io信息 [root@host2 ~]# iotop -botq -n 3 -d 3 #非交互式,輸出pid爲53754 [root@host2 ~]# iotop -botq -p53754