Linux 查看磁盤IO并找出占用IO讀寫很高的進程
背景-線上告警
線上一臺服務器告警,磁盤利用率 disk.util > 90,并持續(xù)告警。
登錄該服務器后通過iostat -x 1 10查看了相關磁盤使用信息。相關截圖如下:
# 如果沒有 iostat 命令,那么使用 yum install sysstat 進行安裝 # iostat -x 1 10
由上圖可知,vdb磁盤的 %util【IO】幾乎都在100%,原因是頻繁的讀取數(shù)據(jù)造成的。
其他字段說明
Device:設備名稱
tps:每秒的IO讀、寫請求數(shù)量,多個邏輯請求可以組合成對設備的單個I/O請求。
Blk_read/s (kB_read/s, MB_read/s):從設備讀取的數(shù)據(jù)量,以每秒若干塊(千字節(jié)、兆字節(jié))表示。塊相當于扇區(qū),因此塊大小為512字節(jié)。
Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s):寫入設備的數(shù)據(jù)量,以每秒若干塊(千字節(jié)、兆字節(jié))表示。塊相當于扇區(qū),因此塊大小為512字節(jié)。
Blk_read (kB_read, MB_read):讀取塊的總數(shù)(千字節(jié)、兆字節(jié))。
Blk_wrtn (kB_wrtn, MB_wrtn):寫入塊的總數(shù)(千字節(jié),兆字節(jié))。
rrqm/s:每秒合并到設備的讀請求數(shù)。即delta(rmerge)/s
wrqm/s:每秒合并到設備的寫入請求數(shù)。即delta(wmerge)/s
r/s:每秒完成的讀I/O設備次數(shù)。即delta(rio)/s
w/s:每秒完成的寫I/0設備次數(shù)。即delta(wio)/s
rsec/s (rkB/s, rMB/s):每秒讀取設備的扇區(qū)數(shù)(千字節(jié)、兆字節(jié))。每扇區(qū)大小為512字節(jié)
wsec/s (wkB/s, wMB/s):每秒寫入設備的扇區(qū)數(shù)(千字節(jié)、兆字節(jié))。每扇區(qū)大小為512字節(jié)
avgrq-sz:平均每次設備I/O操作的數(shù)據(jù)量(扇區(qū)為單位)。即delta(rsec+wsec)/delta(rio+wio)
avgqu-sz:平均每次發(fā)送給設備的I/O隊列長度。
await:平均每次IO請求等待時間。(包括等待隊列時間和處理時間,毫秒為單位)
r_await:平均每次IO讀請求等待時間。(包括等待隊列時間和處理時間,毫秒為單位)
w_await:平均每次IO寫請求等待時間。(包括等待隊列時間和處理時間,毫秒為單位)
svctm:平均每次設備I/O操作的處理時間(毫秒)。警告!不要再相信這個字段值,這個字段將在將來的sysstat版本中刪除。
%util:一秒中有百分之多少的時間用于I/O操作,或者說一秒中有多少時間I/O隊列是非空的。當該值接近100%時,設備飽和發(fā)生。
找到 IO 占用高的進程
通過 iotop 命令
如果沒有該命令,請通過yum install iotop進行安裝。
# iotop -oP
通過這個命令可以看見比較詳細信息,如:進程號,磁盤讀取量,磁盤寫入量,IO百分比,涉及到的命令是什么「兩個都是 grep 命令造成的IO讀取量大」。
通過 pidstat 命令
# 命令的含義:展示I/O統(tǒng)計,每秒更新一次 # pidstat -d 1
可見其中 grep 命令占用了大量的讀IO,之后可根據(jù) PID 查看相關進程信息。
說明:本圖與上圖的PID不同,原因是上圖涉及的進程執(zhí)行完了,本圖是之后執(zhí)行產(chǎn)生的進程【都執(zhí)行的同一個腳本】。
總結(jié)
以上所述是小編給大家介紹的Linux 查看磁盤IO并找出占用IO讀寫很高的進程,希望對大家有所幫助!
相關文章
Linux VPS安全設置之一 修改SSH端口(CentOS/Debian)
我們在學會了VPS的安裝和建站之后,肯定需要附帶學習VPS的安全設置。因為VPS和主機不同,主機商可能會給我們備份,而且主機的安全性都有主機商承擔2012-09-09配置iptables,把80端口轉(zhuǎn)到8080的簡單方法
下面小編就為大家?guī)硪黄渲胕ptables,把80端口轉(zhuǎn)到8080的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,祝大家游戲愉快哦2016-12-12在Ubuntu/Linux環(huán)境下使用MySQL開放/修改3306端口和開放訪問權(quán)限
這篇文章主要介紹了在Ubuntu/Linux環(huán)境下使用MySQL開放/修改3306端口和開放訪問權(quán)限,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07linux修改root密碼和linux忘記root密碼后找回密碼的方法
這篇文章主要介紹了linux修改root密碼和linux忘記root密碼后找回密碼的方法,需要的朋友可以參考下2014-01-01Linux 通過Rsync+Inotify實現(xiàn)本、異地遠程數(shù)據(jù)實時同步功能
這篇文章主要介紹了Linux 通過Rsync+Inotify實現(xiàn)本、異地遠程數(shù)據(jù)實時同步功能,需要的朋友可以參考下2020-04-04