Linux如何查看磁盤IO并找出占用IO讀寫很高的進(jìn)程-創(chuàng)新互聯(lián)

小編給大家分享一下Linux如何查看磁盤IO并找出占用IO讀寫很高的進(jìn)程,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)建站于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元新鄉(xiāng)縣做網(wǎng)站,已為上家服務(wù),為新鄉(xiāng)縣各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

背景-線上告警

線上一臺(tái)服務(wù)器告警,磁盤利用率 disk.util > 90,并持續(xù)告警。

登錄該服務(wù)器后通過iostat -x 1 10查看了相關(guān)磁盤使用信息。相關(guān)截圖如下:

 # 如果沒有 iostat 命令,那么使用 yum install sysstat 進(jìn)行安裝
# iostat -x 1 10

Linux如何查看磁盤IO并找出占用IO讀寫很高的進(jìn)程

由上圖可知,vdb磁盤的 %util【IO】幾乎都在100%,原因是頻繁的讀取數(shù)據(jù)造成的。

其他字段說明

Device:設(shè)備名稱
tps:每秒的IO讀、寫請(qǐng)求數(shù)量,多個(gè)邏輯請(qǐng)求可以組合成對(duì)設(shè)備的單個(gè)I/O請(qǐng)求。
Blk_read/s (kB_read/s, MB_read/s):從設(shè)備讀取的數(shù)據(jù)量,以每秒若干塊(千字節(jié)、兆字節(jié))表示。塊相當(dāng)于扇區(qū),因此塊大小為512字節(jié)。
Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s):寫入設(shè)備的數(shù)據(jù)量,以每秒若干塊(千字節(jié)、兆字節(jié))表示。塊相當(dāng)于扇區(qū),因此塊大小為512字節(jié)。
Blk_read (kB_read, MB_read):讀取塊的總數(shù)(千字節(jié)、兆字節(jié))。
Blk_wrtn (kB_wrtn, MB_wrtn):寫入塊的總數(shù)(千字節(jié),兆字節(jié))。

rrqm/s:每秒合并到設(shè)備的讀請(qǐng)求數(shù)。即delta(rmerge)/s
wrqm/s:每秒合并到設(shè)備的寫入請(qǐng)求數(shù)。即delta(wmerge)/s
r/s:每秒完成的讀I/O設(shè)備次數(shù)。即delta(rio)/s
w/s:每秒完成的寫I/0設(shè)備次數(shù)。即delta(wio)/s
rsec/s (rkB/s, rMB/s):每秒讀取設(shè)備的扇區(qū)數(shù)(千字節(jié)、兆字節(jié))。每扇區(qū)大小為512字節(jié)
wsec/s (wkB/s, wMB/s):每秒寫入設(shè)備的扇區(qū)數(shù)(千字節(jié)、兆字節(jié))。每扇區(qū)大小為512字節(jié)

avgrq-sz:平均每次設(shè)備I/O操作的數(shù)據(jù)量(扇區(qū)為單位)。即delta(rsec+wsec)/delta(rio+wio)
avgqu-sz:平均每次發(fā)送給設(shè)備的I/O隊(duì)列長度。
await:平均每次IO請(qǐng)求等待時(shí)間。(包括等待隊(duì)列時(shí)間和處理時(shí)間,毫秒為單位)
r_await:平均每次IO讀請(qǐng)求等待時(shí)間。(包括等待隊(duì)列時(shí)間和處理時(shí)間,毫秒為單位)
w_await:平均每次IO寫請(qǐng)求等待時(shí)間。(包括等待隊(duì)列時(shí)間和處理時(shí)間,毫秒為單位)
svctm:平均每次設(shè)備I/O操作的處理時(shí)間(毫秒)。警告!不要再相信這個(gè)字段值,這個(gè)字段將在將來的sysstat版本中刪除。
%util:一秒中有百分之多少的時(shí)間用于I/O操作,或者說一秒中有多少時(shí)間I/O隊(duì)列是非空的。當(dāng)該值接近100%時(shí),設(shè)備飽和發(fā)生。

找到 IO 占用高的進(jìn)程

通過 iotop 命令

如果沒有該命令,請(qǐng)通過yum install iotop進(jìn)行安裝。

# iotop -oP

Linux如何查看磁盤IO并找出占用IO讀寫很高的進(jìn)程

通過這個(gè)命令可以看見比較詳細(xì)信息,如:進(jìn)程號(hào),磁盤讀取量,磁盤寫入量,IO百分比,涉及到的命令是什么「兩個(gè)都是 grep 命令造成的IO讀取量大」。

通過 pidstat 命令

# 命令的含義:展示I/O統(tǒng)計(jì),每秒更新一次
# pidstat -d 1

Linux如何查看磁盤IO并找出占用IO讀寫很高的進(jìn)程

可見其中 grep 命令占用了大量的讀IO,之后可根據(jù) PID 查看相關(guān)進(jìn)程信息。

說明:本圖與上圖的PID不同,原因是上圖涉及的進(jìn)程執(zhí)行完了,本圖是之后執(zhí)行產(chǎn)生的進(jìn)程【都執(zhí)行的同一個(gè)腳本】。

什么是Linux系統(tǒng)

Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。

看完了這篇文章,相信你對(duì)“Linux如何查看磁盤IO并找出占用IO讀寫很高的進(jìn)程”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

新聞名稱:Linux如何查看磁盤IO并找出占用IO讀寫很高的進(jìn)程-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://bm7419.com/article18/hsodp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、響應(yīng)式網(wǎng)站定制開發(fā)、網(wǎng)站制作標(biāo)簽優(yōu)化、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)