iotop命令是一個用來監視磁盤I/O使用狀況的top類工具。iotop具有與top相似的UI,其中包括PID、用戶、I/O、進程等相關信息。linux下的IO統計工具如IOStat,nmon等大多數是只能統計到per設備的讀寫情況,如果你想知道每個進程是如何使用IO的就比較麻煩,使用iotop命令可以很方便的查看。
安裝iotop命令
根據自己的系統復制下面的命令安裝:
#Ubuntu/Debian apt-get install iotop #centos yum install -y iotop
iotop參數
輸入iotop -h可查看使用幫助
-o:只顯示有io操作的進程 -b:批量顯示,無交互,主要用作記錄到文件。 -n NUM:顯示NUM次,主要用于非交互式模式。 -d SEC:間隔SEC秒顯示一次。 -p PID:監控的進程pid。 -u USER:監控的進程用戶。 -k 使用千字節而不是人類友好單位
iotop使用
終端輸入命令iotop -k查看到的效果如下圖。
- Total DISK READ:總磁盤讀
- Actual DISK READ:實際磁盤讀
- Total DISK WRITE :總磁盤寫入
- Actual DISK WRITE:實際磁盤寫入
- TID列:進程PID
- USER:進程對應的用戶
iotop快捷鍵
- 左右箭頭:改變排序方式,默認是按IO排序。
- r:改變排序順序。
- o:只顯示有IO輸出的進程。
- p:進程/線程的顯示方式的切換。
- a:顯示累積使用量。
- q:退出。
總結
iotop命令在排查服務器磁盤遇到讀寫瓶頸的時候可以很方便的找出具體是哪個進程占用I/O,非常有用的一個命令,建議收藏。