您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Linux如何查找占用磁盤IO讀寫很高的進程方法的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
通過 iostat -x 1 10 查看相關磁盤使用信息
相關截圖如下:
1 # 如果沒有 iostat 命令,那么使用 yum install sysstat 進行安裝 2 # iostat -x 1 10
由上圖可知,vdb磁盤的 %util【IO】幾乎都在100%,原因是頻繁的讀取數據造成的。
其他字段說明
Device:設備名稱 tps:每秒的IO讀、寫請求數量,多個邏輯請求可以組合成對設備的單個I/O請求。 Blk_read/s (kB_read/s, MB_read/s):從設備讀取的數據量,以每秒若干塊(千字節、兆字節)表示。塊相當于扇區,因此塊大小為512字節。 Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s):寫入設備的數據量,以每秒若干塊(千字節、兆字節)表示。塊相當于扇區,因此塊大小為512字節。 Blk_read (kB_read, MB_read):讀取塊的總數(千字節、兆字節)。 Blk_wrtn (kB_wrtn, MB_wrtn):寫入塊的總數(千字節,兆字節)。 rrqm/s:每秒合并到設備的讀請求數。即delta(rmerge)/s wrqm/s:每秒合并到設備的寫入請求數。即delta(wmerge)/s r/s:每秒完成的讀I/O設備次數。即delta(rio)/s w/s:每秒完成的寫I/0設備次數。即delta(wio)/s rsec/s (rkB/s, rMB/s):每秒讀取設備的扇區數(千字節、兆字節)。每扇區大小為512字節 wsec/s (wkB/s, wMB/s):每秒寫入設備的扇區數(千字節、兆字節)。每扇區大小為512字節 avgrq-sz:平均每次設備I/O操作的數據量(扇區為單位)。即delta(rsec+wsec)/delta(rio+wio) avgqu-sz:平均每次發送給設備的I/O隊列長度。 await:平均每次IO請求等待時間。(包括等待隊列時間和處理時間,毫秒為單位) r_await:平均每次IO讀請求等待時間。(包括等待隊列時間和處理時間,毫秒為單位) w_await:平均每次IO寫請求等待時間。(包括等待隊列時間和處理時間,毫秒為單位) svctm:平均每次設備I/O操作的處理時間(毫秒)。警告!不要再相信這個字段值,這個字段將在將來的sysstat版本中刪除。 %util:一秒中有百分之多少的時間用于I/O操作,或者說一秒中有多少時間I/O隊列是非空的。當該值接近100%時,設備飽和發生。
找到 IO 占用高的進程
通過 iotop 命令
如果沒有該命令,請通過 yum install iotop 進行安裝。
# iotop -oP
通過這個命令可以看見比較詳細信息,如:進程號,磁盤讀取量,磁盤寫入量,IO百分比,涉及到的命令是什么「兩個都是 grep 命令造成的IO讀取量大」。
通過 pidstat 命令
1 # 命令的含義:展示I/O統計,每秒更新一次 2 # pidstat -d 1
可見其中 grep 命令占用了大量的讀IO,之后可根據 PID 查看相關進程信息。
說明:本圖與上圖的PID不同,原因是上圖涉及的進程執行完了,本圖是之后執行產生的進程【都執行的同一個 腳本】。
感謝各位的閱讀!關于“Linux如何查找占用磁盤IO讀寫很高的進程方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。