1. 程式人生 > 實用技巧 >Linux iotop命令詳解

Linux iotop命令詳解

iotop命令是一個用來監視磁碟I/O使用狀況的top類工具。iotop具有與top相似的UI,其中包括PID、使用者、I/O、程序等相關資訊。Linux下的IO統計工具如iostat,nmon等大多數是隻能統計到per裝置的讀寫情況,如果你想知道每個程序是如何使用IO的就比較麻煩,使用iotop命令可以很方便的檢視。

與iostat工具比較,iostat是系統級別的IO監控,而iotop是程序級別IO監控

注意,iotop的安裝有前提條件(如果作業系統不滿足這些條件,iotop無法正確安裝):

 1:核心版本為2.6.20或更高版本
  2:Python 2.7或更高的版本

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的例子

1:只顯示正在產生I/O的程序

iotop -o

通過輸出結果,我們可以清楚地知曉是什麼程式在讀寫磁碟,速度以及命令列,pid 等資訊。

2:使用非互動模式將iotop命令輸出資訊寫入日誌

#nohup iotop -b -o -n 10 -d 5 -t  > /tmp/iotop.log &

3.藉助iotop命令找到消耗I/O最高的程序

iotop -oP

監控系統I/O
[root@localhost ~]#iotop

監控使用者root的I/O
[root@localhost ~]#iotop -u root

監控程序號是1的I/O
[root@localhost ~]#iotop -p 1

參考:https://www.xiaoz.me/archives/14057

https://www.cnblogs.com/kerrycode/p/11344506.html