Linux系統IO分析工具之iotop常用參數介紹
作者:尹正傑
版權聲明:原創作品,謝絕轉載!否則將追究法律責任。
在一般運維工作中經常會遇到這么一個場景,服務器的IO負載很高(iostat中的util),但是無法快速的定位到IO負載的來源進程和來源文件導致無法進行相應的策略來解決問題。
Windows操作系統可以通過魯大師等硬盤檢測工具來查看硬盤讀寫速度,那么linux下測試硬盤IO讀寫情況怎么看?iotop是linux系統下測試硬盤IO讀寫的工具,簡單的說,iotop是一個用來監視磁盤I/O使用狀況的 top 類工具,可監測到哪一個程序使用的磁盤IO的信息(requires 2.6.20 or later)。
1>.安裝iotop
[root@node105 ~]# yum -y install iotop

2>.查看iotop的幫助信息
[root@node105 ~]# iotop -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匯總。 交互按鍵: 和top命令類似,iotop也支持以下幾個交互按鍵。 left和right方向鍵:改變排序。 r:反向排序。 o:切換至選項--only。 p:切換至--processes選項。 a:切換至--accumulated選項。 q:退出。 i:改變線程的優先級。
3>. 只顯示正在產生I/O的進程或線程。除了傳參,可以在運行過程中按o生效。
[root@node105 ~]# iotop -o
4>.時間刷新間隔2秒,輸出5次
[root@node105 ~]# iotop -d 2 -n 5
5>.非交互式,輸出5次,間隔2秒,輸出到屏幕,也可輸出到日志文本,用於監控某時間段的io信息
[root@node105 ~]# iotop -botq -n 5 -d 2
6>.非交互式,輸出pid為8382的進程信息
[root@kafka118 ~]# iotop -botq -p 8382
7>.