溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時(shí)間:2021-10-26 14:43:17 來源:億速云 閱讀:459 作者:小新 欄目:建站服務(wù)器

這篇文章給大家分享的是有關(guān)Linux如何查找占用磁盤IO讀寫很高的進(jìn)程方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

通過 iostat -x 1 10 查看相關(guān)磁盤使用信息

相關(guān)截圖如下:

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

Linux如何查找占用磁盤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讀寫很高的進(jìn)程方法

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

通過 pidstat 命令

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

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

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

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

感謝各位的閱讀!關(guān)于“Linux如何查找占用磁盤IO讀寫很高的進(jìn)程方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI