★★★★☆html
iotop 命令是一款實時監控磁盤 I/O 的工具, 但必須以 root 用戶的身份運行。使用 iotop 命令能夠很方便的查看每一個進程使用磁盤 I/O 的狀況。編程
最小化安裝系統通常是沒有這個命令的,須要使用 yum 命令來額外安裝: yum install -y iotop ssh
iotop [option]
iotop [選項]
說明:ide
在 iotop 命令及後面的選項裏,每一個元素之間都至少要有一個空格。工具
-o :顯示正在使用 I/O 的進程或者線程,默認是顯示全部。 ※
-b :非交互模式,通常用來記錄日誌
-n NUM:設置監測的次數,默認無限。在非交互模式下頗有用
-d :設置顯示的間隔秒數。 -p :只顯示指定 PID 的信息。 ※ -u :顯示指定用戶的信息。 -P :只顯示進程,通常是顯示全部的線程。 -a :顯示從 iotop 啓動後每一個線程完成了的 I/O 總數。 -k :設置顯示單位爲 KB。 -t :在每一行前添加一個當前的時間。
名稱 iotop - 簡單的 top 類 I/O 監視器 總覽 iotop [OPTIONS] 描述 iotop 根據 Linux 內核( 須要2.6.20及以上 )來監測 I/O,而且能顯示當前進程/線程的 I/O 使用率。 Linux 內核 build 的過後哦,須要開啓 CONFIG_TASK_DELAY_ACCT 和CONFIG_TASK_IO_ACCOUNTING 選項,這些選項依賴於 CONFIG_TASKSTATS。 在採樣週期裏,iotop 按列顯示每一個進程/線程的 I/O 讀寫帶寬,同時也顯示進程/線程作 swap 交換和等待 I/O 所佔用的百分比。 每個進程都會顯示 I/O 優先級 ( class/level ),另外在最上面顯示每一個採樣週期內的讀寫帶寬。使用左右箭頭來改變排序,r 用來改變排序順序,o 用來觸發 --only 選項,p 用來觸發 --processes 選項。 a 用來觸發 --accumulated 選項,q 用來退出,i 用來改變進程或線程的監測優先級,其它任繼健是強制刷新。 選項: --version 顯示版本號而後退出 -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彙總。
[root@localhost :~]# iotop 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 22 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] 9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched] 10 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [lru-add-drain] 11 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0] 12 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/1] ...
如下是命令結果的具體說明:post
1.Toal DISK READ :總的磁盤讀取速度。 2.Toal DISK WRITE :總的磁盤寫入速度。 3.TID :進程的 pid 值。 4.PRIO :優先級。 5.USER :用戶。 6.DISK READ :磁盤讀取速度。 7.DISK WRITE :磁盤寫入速度。 8.SWAPIN :從 swap 分區讀取數據佔用的百分比。 9.IO :I/O 佔用的百分比。 10.COMMAND :消耗 I/O 的進程名。
[root@localhost :~]# iotop -p 1321 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
1321 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % sshd: root@pts/0