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 參數
-h, --help 顯示幫助然后退出 -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匯總。
iotop 示例
1、只顯示正在產生I/O的進程
iotop -oP
2、iotop記錄到文本
iotop -botq --iter=3 > /opt/iotop # --iter 等於-n,表示檢測迭代的次數