iostat

[ops@ip ~]$ iostat --help

Usage: iostat [ options ] [?<interval>[ <count>] ]

Options are:

[ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]

[ -j { ID | LABEL | PATH | UUID | ... } [ [...] | ALL ] ]

[ [...] | ALL ] [ -p [ [,...] | ALL ] ]

命令參數(shù):

-C?顯示CPU使用情況

-d?顯示磁盤使用情況

-k?以?KB?為單位顯示

-m?以?M?為單位顯示

-N?顯示磁盤陣列(LVM)?信息

-n?顯示NFS?使用情況

-p[磁盤]?顯示磁盤和分區(qū)的情況

-t?顯示終端和CPU的信息

-x?顯示詳細(xì)信息

-V?顯示版本信息

常用方法:

iostat -d -k 1 10 ? ? ? ? #查看TPS和吞吐量信息?

iostat -d -x -k 1 10? ? #查看設(shè)備使用率(%util)、響應(yīng)時(shí)間(await)?

iostat -c 1 10 ? ? ? ? ? ?#查看cpu狀態(tài)?



案例分析:

[user@ip ~]$ iostat -d -k 2 5

Linux 3.14.48-33.39.amzn1.x86_64? ? ? ?08/14/2017 ?????_x86_64_?????(4 CPU)

Device:????????????tps????kB_read/s????kB_wrtn/s????kB_read????kB_wrtn

xvda??????????????0.15?????????0.03?????????0.87?????107088????3435228

Device:????????????tps????kB_read/s????kB_wrtn/s????kB_read????kB_wrtn

xvda??????????????1.00?????????0.00?????????4.00??????????0??????????8

Device:????????????tps????kB_read/s????kB_wrtn/s????kB_read????kB_wrtn

xvda??????????????0.50?????????0.00?????????2.00??????????0??????????4

Device:????????????tps????kB_read/s????kB_wrtn/s????kB_read????kB_wrtn

xvda??????????????0.00?????????0.00?????????0.00??????????0??????????0

Device:????????????tps????kB_read/s????kB_wrtn/s????kB_read????kB_wrtn

xvda??????????????0.00?????????0.00?????????0.00??????????0??????????0

分析:

輸出結(jié)果一KB為單位,每2秒收集一次信息,一共收集5次,xvda每秒傳輸次數(shù)為0.15,每秒讀磁盤0.03KB,寫磁盤0.87KB,取樣讀磁盤總數(shù)107088KB,寫磁盤總數(shù)為3435228KB



[user@ip ~]$ iostat -d -x -k 3 5

Linux 3.14.48-33.39.amzn1.x86_64? ? ?08/14/2017 ?????_x86_64_?????(4 CPU)

Device:?????????rrqm/s???wrqm/s?????r/s?????w/s????rkB/s????wkB/s avgrq-sz avgqu-sz???await??svctm??%util

xvda??????????????0.00?????0.06????0.00????0.15?????0.03?????0.87????12.04?????0.00????0.38???0.28???0.00

Device:?????????rrqm/s???wrqm/s?????r/s?????w/s????rkB/s????wkB/s avgrq-sz avgqu-sz???await??svctm??%util

xvda??????????????0.00?????0.00????0.00????0.00?????0.00?????0.00?????0.00?????0.00????0.00???0.00???0.00

Device:?????????rrqm/s???wrqm/s?????r/s?????w/s????rkB/s????wkB/s avgrq-sz avgqu-sz???await??svctm??%util

xvda??????????????0.00?????0.67????0.00????0.67?????0.00?????5.33????16.00?????0.00????0.00???0.00???0.00

Device:?????????rrqm/s???wrqm/s?????r/s?????w/s????rkB/s????wkB/s avgrq-sz avgqu-sz???await??svctm??%util

xvda??????????????0.00?????0.00????0.00????0.00?????0.00?????0.00?????0.00?????0.00????0.00???0.00???0.00

Device:?????????rrqm/s???wrqm/s?????r/s?????w/s????rkB/s????wkB/s avgrq-sz avgqu-sz???await??svctm??%util

xvda??????????????0.00?????0.00????0.00????0.00?????0.00?????0.00?????0.00?????0.00????0.00???0.00???0.00

? 分析:

輸出結(jié)果以KB為單位,每3秒收集一次,一共收集5次,每秒向磁盤上寫5KB左右數(shù)據(jù)(wkB/s值),每秒約有1次IO操作(r/s+w/s),其中以寫操作為主體,平均每次IO請(qǐng)求等待處理的時(shí)間為0.38毫秒,處理耗時(shí)為0.28 毫秒,等待處理的IO請(qǐng)求隊(duì)列中,平均有0個(gè)請(qǐng)求駐留



[user@ip ~]$ iostat -c 3 5

Linux 3.14.48-33.39.amzn1.x86_64? ? ? ?08/14/2017 ?????_x86_64_?????(4 CPU)

avg-cpu:??%user???%nice %system %iowait??%steal???%idle

???????????3.96????0.00????1.21????0.00????0.11???94.71

avg-cpu:??%user???%nice %system %iowait??%steal???%idle

???????????4.06????0.00????1.27????0.00????0.08???94.59

avg-cpu:??%user???%nice %system %iowait??%steal???%idle

???????????3.65????0.00????1.19????0.00????0.17???95.00

avg-cpu:??%user???%nice %system %iowait??%steal???%idle

???????????4.06????0.00????1.10????0.00????0.17???94.67

avg-cpu:??%user???%nice %system %iowait??%steal???%idle

???????????3.81????0.00????1.10????0.00????0.08???95.00

分析:

用戶CPU利用率約4%,優(yōu)先級(jí)CPU利用率為0,系統(tǒng)CPU利用率約1.2%,IO掛起空閑百分比為0,虛擬CPU百分比約0.17,IO沒有掛起空閑百分比約95%



單獨(dú)使用

[user@ip ~]$ iostat

Linux 3.14.48-33.39.amzn1.x86_64? ? ? 08/14/2017 ?????_x86_64_?????(4 CPU)

avg-cpu:??%user???%nice ?%system ?%iowait??%steal???%idle

? ? ? ? ? ? ? ? ? 3.96 ? ? ?0.00 ? ? 1.21 ? ? ? ? ?0.00 ? ? ? ? ?0.11 ? ? 94.71

Device: ? ? ?tps???Blk_read/s???Blk_wrtn/s???Blk_read ? ?Blk_wrtn

xvda ? ? ? ? ?0.15?????????0.05?????????1.75 ? ? ? ? ?214177 ? ? 6868520

單獨(dú)執(zhí)行iostat,顯示的結(jié)果為從系統(tǒng)開機(jī)到當(dāng)前執(zhí)行時(shí)刻的統(tǒng)計(jì)信息

案例分析:

用戶CPU利用率為3.96%,優(yōu)先級(jí)用戶CPU利用率為0,系統(tǒng)CPU利用率為1.21%,IO掛起空閑時(shí)間百分比為0,虛擬CPU時(shí)間百分比為0.11%,IO沒有掛起空閑時(shí)間百分比為94.71,xvda每秒傳輸次數(shù)為0.15,每秒讀磁盤0.05,寫磁盤1.75,取樣讀磁盤總數(shù)為214177,寫總數(shù)為6868520

最上面指示系統(tǒng)版本、主機(jī)名和日期

avg-cpu:?總體cpu使用情況統(tǒng)計(jì)信息,對(duì)于多核cpu,這里為所有cpu的平均值

%user : 顯示了在執(zhí)行用戶(應(yīng)用)層時(shí)的CPU利用率

%nice : 顯示了在以nice優(yōu)先級(jí)運(yùn)行用戶層的CPU利用率

%system : 顯示了在執(zhí)行系統(tǒng)(內(nèi)核)層時(shí)的CPU利用率

%iowait : 顯示了CPU在I/O請(qǐng)求掛起時(shí)空閑時(shí)間的百分比

%steal : 顯示了當(dāng)hypervisor正服務(wù)于另外一個(gè)虛擬處理器時(shí)無(wú)意識(shí)地等待虛擬CPU所占有的時(shí)間百分比。

%idle : 顯示了CPU在I/O沒有掛起請(qǐng)求時(shí)空閑時(shí)間的百分比

Device:?各磁盤設(shè)備的IO統(tǒng)計(jì)信息

Device: 設(shè)備名稱

tps:?設(shè)備每秒的傳輸次數(shù)(Indicate the number of transfers per second that were issued to the device.)。“一次傳輸”意思是“一次I/O請(qǐng)求”。多個(gè)邏輯請(qǐng)求可能會(huì)被合并為“一次I/O請(qǐng)求”?!耙淮蝹鬏敗闭?qǐng)求的大小是未知的。

Blk_read/s:?每秒讀扇區(qū)數(shù)量(一扇區(qū)為512bytes)

Blk_wrtn/s:?每秒寫扇區(qū)數(shù)量

Blk_read:?取樣時(shí)間間隔內(nèi)讀扇區(qū)總數(shù)量

Blk_wrtn:?取樣時(shí)間間隔內(nèi)寫扇區(qū)總數(shù)量

如果%iowait的值過(guò)高,表示硬盤存在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。

指定采樣時(shí)間間隔與采樣次數(shù)

指定iostat命令的采樣間隔和采樣次數(shù):每2秒采集一次,一共采集3次


[user@ip ~]$ iostat -d 2 3

Linux 3.14.48-33.39.amzn1.x86_64? ? ? ?08/14/2017 ?????_x86_64_?????(4 CPU)

Device:????????????tps???Blk_read/s???Blk_wrtn/s???Blk_read???Blk_wrtn

xvda ? ? ? ? ? ? ? ?0.15?????????0.05?????????1.75 ? ? ? ? 214177????6869944

Device:????????????tps???Blk_read/s???Blk_wrtn/s???Blk_read???Blk_wrtn

xvda??????????????0.00?????????0.00?????????0.00??????????0??????????0

Device:????????????tps???Blk_read/s???Blk_wrtn/s???Blk_read???Blk_wrtn

xvda ? ? ? ? ? ? ? ?0.00?????????0.00?????????0.00??????????0??????????0

案例分析:

xvda每秒傳輸次數(shù)為0.15,每秒讀磁盤為0.05,寫磁盤為1.75,取樣讀磁盤總數(shù)為214177,寫磁盤為6869944

以kB為單位顯示讀寫信息(-k選項(xiàng))

使用-k選項(xiàng),指定iostat的部分輸出結(jié)果以kB為單位,而不是以扇區(qū)數(shù)為單位:

[ops@ip ~]$ iostat -d -k

Linux 3.14.48-33.39.amzn1.x86_64? ? ? ?08/14/2017 ?????_x86_64_?????(8 CPU)

Device:????????????tps ? ? ? ?kB_read/s????kB_wrtn/s????kB_read????kB_wrtn

xvda ? ? ? ? ? ? ? ?55.11?????????0.08 ? ? ? ?6979.67 ? ? ? 149976 ? ? 13936026432

以上輸出中,kB_read/s、kB_wrtn/s、kB_read和kB_wrtn的值均以kB為單位,相比以扇區(qū)數(shù)為單位,這里的值為原值的一半(1kB=512bytes*2)

(-m選項(xiàng))以M為單位


[ops@ip ~]$ iostat -m

Linux 3.14.48-33.39.amzn1.x86_64? ? ?08/14/2017 ?????_x86_64_?????(8 CPU)

avg-cpu:??%user???%nice %system %iowait??%steal???%idle

???????????1.75????0.00????0.19????0.86????0.08???97.13

Device:????????????tps????MB_read/s????MB_wrtn/s????MB_read????MB_wrtn

xvda?????????????55.06?????????0.00?????????6.81????????146???13609407

更詳細(xì)的io統(tǒng)計(jì)信息(-x選項(xiàng))

為顯示更詳細(xì)的io設(shè)備統(tǒng)計(jì)信息,我們可以使用-x選項(xiàng),在分析io瓶頸時(shí),一般都會(huì)開啟-x選項(xiàng):

[ops@ip ~]$ iostat -d -k -x 3 3

Linux 3.14.48-33.39.amzn1.x86_64? ? ? 08/14/2017 ?????_x86_64_?????(8 CPU)

Device:?????????rrqm/s???wrqm/s?????r/s?????w/s ? ? ? ?rkB/s????wkB/s ? ? ?avgrq-sz ?avgqu-sz???await ? svctm ? %util?

xvda??????????????0.00?????0.85 ? ? ? ? ?0.01???55.10?????0.08 ? ? 6978.66???253.30?????1.02 ? ? ? ? ? 18.52???0.94 ? ? 5.20?

Device:?????????rrqm/s???wrqm/s?????r/s?????w/s ? ? ?rkB/s ? ? wkB/s ? ? avgrq-sz ? avgqu-sz???await??svctm??%util

xvda??????????????0.00?????0.00 ? ? ? ? 0.00????0.00?????0.00 ? ? ?0.00 ? ? ? ?0.00 ? ? ? ? ? 0.00 ? ? ? ? ? 0.00???0.00???0.00

Device:?????????rrqm/s???wrqm/s?????r/s?????w/s ? ? ?rkB/s ? ? wkB/s ? ?avgrq-sz ? avgqu-sz???await??svctm??%util

xvda??????????????0.00 ? ? ?2.00 ? ? ? ?0.00????1.00?????0.00 ? ? ?13.33 ? ? ?26.67 ? ? ? 0.00 ? ? ? ? ? ?0.00???0.00???0.00

rrqm/s:?每秒對(duì)該設(shè)備的讀請(qǐng)求被合并次數(shù),文件系統(tǒng)會(huì)對(duì)讀取同塊(block)的請(qǐng)求進(jìn)行合并

wrqm/s:?每秒對(duì)該設(shè)備的寫請(qǐng)求被合并次數(shù)

r/s:?每秒完成的讀次數(shù)

w/s:?每秒完成的寫次數(shù)

rkB/s:?每秒讀數(shù)據(jù)量(kB為單位)

wkB/s:?每秒寫數(shù)據(jù)量(kB為單位)

avgrq-sz:平均每次IO操作的數(shù)據(jù)量(扇區(qū)數(shù)為單位)

avgqu-sz:?平均等待處理的IO請(qǐng)求隊(duì)列長(zhǎng)度

await:?平均每次IO請(qǐng)求等待時(shí)間(包括等待時(shí)間和處理時(shí)間,毫秒為單位)

svctm:?平均每次IO請(qǐng)求的處理時(shí)間(毫秒為單位)

%util:?采用周期內(nèi)用于IO操作的時(shí)間比率,即IO隊(duì)列非空的時(shí)間比率

?對(duì)于以上示例輸出,我們可以獲取到以下信息:

每秒向磁盤上寫7M左右數(shù)據(jù)(wkB/s值)

每秒有55次IO操作(r/s+w/s),其中以寫操作為主體

平均每次IO請(qǐng)求等待處理的時(shí)間為18.52毫秒,處理耗時(shí)為0.94 毫秒

等待處理的IO請(qǐng)求隊(duì)列中,平均有1.02個(gè)請(qǐng)求駐留

util = (r/s+w/s) * (svctm/1000)

如果?%util?接近?100%,說(shuō)明產(chǎn)生的I/O請(qǐng)求太多,I/O系統(tǒng)已經(jīng)滿負(fù)荷,該磁盤可能存在瓶頸。如果?svctm?比較接近?await,說(shuō)明?I/O?幾乎沒有等待時(shí)間;如果?await?遠(yuǎn)大于?svctm,說(shuō)明I/O?隊(duì)列太長(zhǎng),io響應(yīng)太慢,則需要進(jìn)行必要優(yōu)化。如果avgqu-sz比較大,也表示有大量io在等待。

獲取cpu部分狀態(tài)值 (-c選項(xiàng))

[ops@ip ~]$ iostat -c 2 3

Linux 3.14.48-33.39.amzn1.x86_64? ? ? ?08/14/2017 ?????_x86_64_?????(8 CPU)

avg-cpu:??%user???%nice %system %iowait??%steal???%idle

? ? ? ? ? ? ? ? ? ? 1.75????0.00????0.19 ? ? ? ? ?0.86 ? ? ? ?0.08 ? ? ?97.13

avg-cpu:??%user???%nice %system %iowait??%steal???%idle

? ? ? ? ? ? ? ? ? ? 0.00????0.00????0.00 ? ? ? ? ?0.00 ? ? ? ?0.00 ? ? 100.00

avg-cpu:??%user???%nice %system %iowait??%steal???%idle

? ? ? ? ? ? ? ? ? ?0.00????0.00????0.00 ? ? ? ? ? 0.00 ? ? ? ?0.00 ? ? 100.00

顯示tty和Cpu信息 (-t選項(xiàng))

[ops@ip ~]$ iostat -t

Linux 3.14.48-33.39.amzn1.x86_64? ? ? 08/14/2017 ?????_x86_64_?????(8 CPU)

08/14/2017 09:19:28 AM

avg-cpu:??%user???%nice %system %iowait??%steal???%idle

? ? ? ? ? ? ? ? 1.75 ? ? ? ?0.00????0.19 ? ? ? ? 0.86 ? ? ? ?0.08 ? ? ?97.13

Device:????????????tps ? ? Blk_read/s???Blk_wrtn/s???Blk_read???Blk_wrtn

xvda ? ? ? ? ? ? ? ?55.05?????????0.15?????13944.15?????299952 ? ? 27872069752

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容