linux 监控命令iostat,Linux下 IO实时监控iostat命令详解
Linux系統(tǒng)中的iostat是I/O statistics(輸入/輸出統(tǒng)計(jì))的縮寫(xiě),iostat工具將對(duì)系統(tǒng)的磁盤(pán)操作活動(dòng)進(jìn)行監(jiān)視。它的特點(diǎn)是匯報(bào)磁盤(pán)活動(dòng)統(tǒng)計(jì)情況,同時(shí)也會(huì)匯報(bào)出CPU使用情況。同vmstat一樣,iostat也有一個(gè)弱點(diǎn),就是它不能對(duì)某個(gè)進(jìn)程進(jìn)行深入分析,僅對(duì)系統(tǒng)的整體情況進(jìn)行分析。
iostat常用命令格式如下:
iostat [參數(shù)] [時(shí)間] [次數(shù)]
命令參數(shù)說(shuō)明如下:
-c 顯示CPU使用情況
-d 顯示磁盤(pán)使用情況
-k 以K為單位顯示
-m 以M為單位顯示
-N 顯示磁盤(pán)陣列(LVM) 信息
-n 顯示NFS使用情況
-p 可以報(bào)告出每塊磁盤(pán)的每個(gè)分區(qū)的使用情況
-t 顯示終端和CPU的信息
-x 顯示詳細(xì)信息
常見(jiàn)用法
iostat -d -k 1 10 ? ? ? ? #查看TPS和吞吐量信息(磁盤(pán)讀寫(xiě)速度單位為KB)
iostat -d -m 2 ? ? ? ? ? ?#查看TPS和吞吐量信息(磁盤(pán)讀寫(xiě)速度單位為MB)
iostat -d -x -k 1 10 ? ? ?#查看設(shè)備使用率(%util)、響應(yīng)時(shí)間(await) iostat -c 1 10 #查看cpu狀態(tài)
1.安裝iostat
使用yum provides查找命令對(duì)應(yīng)的軟件包
# yum provides iostat
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* epel: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
base/7/x86_64/filelists_db | 7.1 MB 00:00:00
epel/x86_64/filelists_db | 11 MB 00:00:01
extras/7/x86_64/filelists_db | 217 kB 00:00:00
updates/7/x86_64/filelists_db | 2.1 MB 00:00:00
sysstat-10.1.5-19.el7.x86_64 : Collection of performance monitoring tools for Linux
源 :base
匹配來(lái)源:
文件名 :/usr/bin/iostat
# yum -y install sysstat
下面就對(duì)我們常用的使用方式進(jìn)行詳細(xì)的總結(jié)。
2.使用實(shí)例
命令:iostat -x
說(shuō)明:顯示詳細(xì)信息
# iostat -x
Linux 3.10.0-693.2.2.el7.x86_64 (Linux-test-01) 08/21/2020 _x86_64_(4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
11.16 0.00 3.89 0.60 0.00 84.35
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.01 28.40 4.71 12.13 561.50 194.89 89.87 0.07 4.01 8.55 2.25 0.57 0.96
vdb 0.03 9.43 2.88 8.62 87.84 251.00 58.89 0.01 0.85 7.08 6.88 1.44 1.66
輸出內(nèi)容詳解:
%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í)間百分比
當(dāng)然了,iostat命令的重點(diǎn)不是用來(lái)看CPU的,重點(diǎn)是用來(lái)監(jiān)測(cè)磁盤(pán)性能的。
Device:設(shè)備名稱
rrqm/s:每秒合并到設(shè)備的讀取請(qǐng)求數(shù)
wrqm/s:每秒合并到設(shè)備的寫(xiě)請(qǐng)求數(shù)
r/s:每秒向磁盤(pán)發(fā)起的讀操作數(shù)
w/s:每秒向磁盤(pán)發(fā)起的寫(xiě)操作數(shù)
rkB/s:每秒讀K字節(jié)數(shù)
wkB/s:每秒寫(xiě)K字節(jié)數(shù)
avgrq-sz:平均每次設(shè)備I/O操作的數(shù)據(jù)大小
avgqu-sz:平均I/O隊(duì)列長(zhǎng)度
await:平均每次設(shè)備I/O操作的等待時(shí)間 (毫秒),一般地,系統(tǒng)I/O響應(yīng)時(shí)間應(yīng)該低于5ms,如果大于 10ms就比較大了
r_await:每個(gè)讀操作平均所需的時(shí)間;不僅包括硬盤(pán)設(shè)備讀操作的時(shí)間,還包括了在kernel隊(duì)列中等待的時(shí)間
w_await:每個(gè)寫(xiě)操作平均所需的時(shí)間;不僅包括硬盤(pán)設(shè)備寫(xiě)操作的時(shí)間,還包括了在kernel隊(duì)列中等待的時(shí)間
svctm:平均每次設(shè)備I/O操作的服務(wù)時(shí)間 (毫秒)(這個(gè)數(shù)據(jù)不可信!)
%util:一秒中有百分之多少的時(shí)間用于I/O操作,即被IO消耗的CPU百分比,一般地,如果該參數(shù)是100%表示設(shè)備已經(jīng)接近滿負(fù)荷運(yùn)行了
命令:iostat -d 2 3
# iostat -d 2 3
Linux 3.10.0-693.2.2.el7.x86_64 (Linux-bj-test-01) ?? ?08/21/2020 ?? ?_x86_64_?? ?(4 CPU)
Device: ? ? ? ? ? ?tps ? ?kB_read/s ? ?kB_wrtn/s ? ?kB_read ? ?kB_wrtn
vda ? ? ? ? ? ? ?16.83 ? ? ? 561.49 ? ? ? 194.89 34481284833 11968053596
vdb ? ? ? ? ? ? ?11.51 ? ? ? ?87.84 ? ? ? 251.00 5394380357 15414039436
Device: ? ? ? ? ? ?tps ? ?kB_read/s ? ?kB_wrtn/s ? ?kB_read ? ?kB_wrtn
vda ? ? ? ? ? ? ?71.00 ? ? ? ? 0.00 ? ? ? 318.00 ? ? ? ? ?0 ? ? ? ?636
vdb ? ? ? ? ? ? ?37.50 ? ? ? ? 0.00 ? ? ? 250.00 ? ? ? ? ?0 ? ? ? ?500
Device: ? ? ? ? ? ?tps ? ?kB_read/s ? ?kB_wrtn/s ? ?kB_read ? ?kB_wrtn
vda ? ? ? ? ? ? ? 0.00 ? ? ? ? 0.00 ? ? ? ? 0.00 ? ? ? ? ?0 ? ? ? ? ?0
vdb ? ? ? ? ? ? ?19.50 ? ? ? ? 2.00 ? ? ? 122.00 ? ? ? ? ?4 ? ? ? ?244
輸出內(nèi)容詳解:
tps:每秒I/O數(shù)(即IOPS。磁盤(pán)連續(xù)讀和連續(xù)寫(xiě)之和)
kB_read/s:每秒從磁盤(pán)讀取數(shù)據(jù)大小,單位KB/s
kB_wrtn/s:每秒寫(xiě)入磁盤(pán)的數(shù)據(jù)的大小,單位KB/s
kB_read:從磁盤(pán)讀出的數(shù)據(jù)總數(shù),單位KB
kB_wrtn:寫(xiě)入磁盤(pán)的的數(shù)據(jù)總數(shù),單位KB
性能監(jiān)控指標(biāo)
我們?cè)谌粘_\(yùn)維中到底需要關(guān)注的字段,關(guān)注哪些輸出內(nèi)容就可以確定這臺(tái)服務(wù)器是否存在IO性能瓶頸。
%iowait:如果該值較高,表示磁盤(pán)存在I/O瓶頸
await:一般地,系統(tǒng)I/O響應(yīng)時(shí)間應(yīng)該低于5ms,如果大于10ms就比較大了
avgqu-sz:如果I/O請(qǐng)求壓力持續(xù)超出磁盤(pán)處理能力,該值將增加。如果單塊磁盤(pán)的隊(duì)列長(zhǎng)度持續(xù)超過(guò)2,一般認(rèn)為該磁盤(pán)存在I/O性能問(wèn)題。需要注意的是,如果該磁盤(pán)為磁盤(pán)陣列虛擬的邏輯驅(qū)動(dòng)器,需要再將該值除以組成這個(gè)邏輯驅(qū)動(dòng)器的實(shí)際物理磁盤(pán)數(shù)目,以獲得平均單塊硬盤(pán)的I/O等待隊(duì)列長(zhǎng)度
%util:一般地,如果該參數(shù)是100%表示設(shè)備已經(jīng)接近滿負(fù)荷運(yùn)行了
最后,除了關(guān)注指標(biāo)外,我們更需要結(jié)合部署的業(yè)務(wù)進(jìn)行分析。對(duì)于磁盤(pán)隨機(jī)讀寫(xiě)頻繁的業(yè)務(wù),比如圖片存取、數(shù)據(jù)庫(kù)、郵件服務(wù)器等,此類(lèi)業(yè)務(wù)嗎,tps才是關(guān)鍵點(diǎn)。對(duì)于順序讀寫(xiě)頻繁的業(yè)務(wù),需要傳輸大塊數(shù)據(jù)的,如視頻點(diǎn)播、文件同步,關(guān)注的是磁盤(pán)的吞吐量。
本文地址:https://blog.csdn.net/chj_1224365967/article/details/108141855
總結(jié)
以上是生活随笔為你收集整理的linux 监控命令iostat,Linux下 IO实时监控iostat命令详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 360 数科更名奇富科技,全面拥抱金融科
- 下一篇: linux docker漏洞,安装sha