新聞中心
我們?cè)诰€上linux服務(wù)器排查問(wèn)題時(shí),一般會(huì)通過(guò)top、free、netstat、df -h等命令排查cpu、內(nèi)存、網(wǎng)絡(luò)和磁盤(pán)等問(wèn)題。有的時(shí)候我們需要更進(jìn)一步了解磁盤(pán)io的使用情況,本篇文章重點(diǎn)為大家講解一下Linux下查看磁盤(pán)IO使用具體方法。

成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),東平網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:東平等地區(qū)。東平做網(wǎng)站價(jià)格咨詢:028-86922220
1.iostat:
1.1 命令格式:
iostat[參數(shù)][時(shí)間][次數(shù)]
1.2 命令功能:
通過(guò)iostat方便查看CPU、網(wǎng)卡、tty設(shè)備、磁盤(pán)、CD-ROM 等等設(shè)備的活動(dòng)情況, 負(fù)載信息。
1.3 命令參數(shù):
-C 顯示CPU使用情況 -d 顯示磁盤(pán)使用情況 -k 以 KB 為單位顯示 -m 以 M 為單位顯示 -N 顯示磁盤(pán)陣列(LVM) 信息 -n 顯示NFS 使用情況 -p[磁盤(pán)] 顯示磁盤(pán)和分區(qū)的情況 -t 顯示終端和CPU的信息 -x 顯示詳細(xì)信息 -V 顯示版本信息
舉例1:
iostat
如圖所示:
cpu屬性值說(shuō)明:
%user:CPU處在用戶模式下的時(shí)間百分比。 %nice:CPU處在帶NICE值的用戶模式下的時(shí)間百分比。 %system:CPU處在系統(tǒng)模式下的時(shí)間百分比。 %iowait:CPU等待輸入輸出完成時(shí)間的百分比。 -%steal:管理程序維護(hù)另一個(gè)虛擬處理器時(shí),虛擬CPU的無(wú)意識(shí)等待時(shí)間百分比。 %idle:CPU空閑時(shí)間百分比。
備注:如果**%iowait的值過(guò)高,表示硬盤(pán)存在I/O瓶頸,%idle**值高,表示CPU較空閑,如果%idle值高但系統(tǒng)響應(yīng)慢時(shí),有可能是CPU等待分配內(nèi)存,此時(shí)應(yīng)加大內(nèi)存容量。%idle值如果持續(xù)低于10,那么系統(tǒng)的CPU處理能力相對(duì)較低,表明系統(tǒng)中最需要解決的資源是CPU。
Device屬性值說(shuō)明:
tps:該設(shè)備每秒的傳輸次數(shù)(Indicate the number of transfers per second that were issued to the device.)?!耙淮蝹鬏敗币馑际恰耙淮蜪/O請(qǐng)求”。多個(gè)邏輯請(qǐng)求可能會(huì)被合并為“一次I/O請(qǐng)求”?!耙淮蝹鬏敗闭?qǐng)求的大小是未知的。 kB_read/s:每秒從設(shè)備(drive expressed)讀取的數(shù)據(jù)量; kB_wrtn/s:每秒向設(shè)備(drive expressed)寫(xiě)入的數(shù)據(jù)量; kB_read:讀取的總數(shù)據(jù)量; kB_wrtn:寫(xiě)入的總數(shù)量數(shù)據(jù)量;這些單位都為Kilobytes。
舉例2:
iostat -d -k 1 10
參數(shù) -d 表示,顯示設(shè)備(磁盤(pán))使用狀態(tài);-k某些使用block為單位的列強(qiáng)制使用Kilobytes為單位;1 ,10表示,數(shù)據(jù)顯示每隔1秒刷新一次,共顯示10次。
1.4 指定監(jiān)控的設(shè)備名稱:
iostat -d sda 2
1.5 使用-x參數(shù)我們可以獲得更多統(tǒng)計(jì)信息
iostat -d -x -k 1 10
disk屬性說(shuō)明:
rrqm/s: 每秒進(jìn)行 merge 的讀操作數(shù)目。即 rmerge/s wrqm/s: 每秒進(jìn)行 merge 的寫(xiě)操作數(shù)目。即 wmerge/s r/s: 每秒完成的讀 I/O 設(shè)備次數(shù)。即 rio/s w/s: 每秒完成的寫(xiě) I/O 設(shè)備次數(shù)。即 wio/s rsec/s: 每秒讀扇區(qū)數(shù)。即 rsect/s wsec/s: 每秒寫(xiě)扇區(qū)數(shù)。即 wsect/s rkB/s: 每秒讀K字節(jié)數(shù)。是 rsect/s 的一半,因?yàn)槊可葏^(qū)大小為512字節(jié)。 wkB/s: 每秒寫(xiě)K字節(jié)數(shù)。是 wsect/s 的一半。 avgrq-sz: 平均每次設(shè)備I/O操作的數(shù)據(jù)大小 (扇區(qū))。 avgqu-sz: 平均I/O隊(duì)列長(zhǎng)度。 await: 平均每次設(shè)備I/O操作的等待時(shí)間 (毫秒)。 svctm: 平均每次設(shè)備I/O操作的服務(wù)時(shí)間 (毫秒)。 %util: 一秒中有百分之多少的時(shí)間用于 I/O 操作,即被io消耗的cpu百分比
備注:如果 %util 接近 100%,說(shuō)明產(chǎn)生的I/O請(qǐng)求太多,I/O系統(tǒng)已經(jīng)滿負(fù)荷,該磁盤(pán)可能存在瓶頸。如果 svctm 比較接近 await,說(shuō)明 I/O 幾乎沒(méi)有等待時(shí)間;如果 await 遠(yuǎn)大于 svctm,說(shuō)明I/O 隊(duì)列太長(zhǎng),io響應(yīng)太慢,則需要進(jìn)行必要優(yōu)化。如果avgqu-sz比較大,也表示有當(dāng)量io在等待。
1.6 -c參數(shù):iostat 獲取cpu部分狀態(tài)值:
iostat -c 1 10
在這里插入圖片描述
1.7 查看設(shè)備使用率(%util)、響應(yīng)時(shí)間(await)
iostat -d -x -k 1 10
1.8 查看TPS和吞吐量信息(磁盤(pán)讀寫(xiě)速度單位為KB)
iostat -d -k 1 10
在這里插入圖片描述
1.9查看TPS和吞吐量信息(磁盤(pán)讀寫(xiě)速度單位為MB)
iostat -d -m 2
2.iotop
iotop是一款開(kāi)源、免費(fèi)的用來(lái)監(jiān)控磁盤(pán)I/O使用狀況的類似top命令的工具,iotop可以監(jiān)控進(jìn)程的I/O信息。它是Python語(yǔ)言編寫(xiě)的,與iostat工具比較,iostat是系統(tǒng)級(jí)別的IO監(jiān)控,而iotop是進(jìn)程級(jí)別IO監(jiān)控。
2.1 安裝:
yum install iotop
2.2 常用參數(shù):
| 選項(xiàng) | 解釋 | 示例 |
|---|---|---|
| -o | 只顯示有I/O操作的進(jìn)程或線程,即存在disk read或disk write | iotop -o |
| -b | 批量顯示,無(wú)交互,主要用于記錄到文件 | iotop -b >> iotop.txt |
| -n NUM | 顯示NUM次,主要用于非交互模式 | iotop -b -n 3 >> iotop.txt |
| -d SEC | 間隔SEC秒更新一次數(shù)據(jù),默認(rèn)1s | iotop –d 5 |
| -p PID | 列出監(jiān)控的進(jìn)程,默認(rèn)全部 | iotop –p 3313(僅監(jiān)控3313進(jìn)程) |
| -u USER | 列出需要監(jiān)控的用戶,默認(rèn)所有用戶 | iotop –u oracle |
2.3 iotop的快捷鍵:
左右箭頭:改變排序,默認(rèn)按照IO使用百分比排序
r :反轉(zhuǎn)排序結(jié)果 o :只顯示有I/O的進(jìn)程和線程 a :顯示累積使用量 q :退出
2.4 iotop工具展示: 解釋:
第一行是總的I/O統(tǒng)計(jì)信息,描述總的I/O讀寫(xiě)情況。 第二行是列名稱,從左到右依次是: TID :線程編號(hào) PRIO :未知 USER:用戶信息 DISK READ :磁盤(pán)讀,以對(duì)用戶友好的方式顯示 DISK WRITE:磁盤(pán)寫(xiě),以對(duì)用戶友好的方式顯示 SWAPIN : swap空間使用百分比 IO> :IO使用百分比,“>”代表以IO排序,可以使用左右光標(biāo)鍵調(diào)整使用哪一列來(lái)排序 COMMAND :進(jìn)程發(fā)起程序名
2.5 舉例:
只顯示正在產(chǎn)生I/O的進(jìn)程
iotop -o
網(wǎng)頁(yè)名稱:Linux系統(tǒng)下查看磁盤(pán)IO使用情況
文章來(lái)源:http://fisionsoft.com.cn/article/dhpjhgp.html


咨詢
建站咨詢
