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 ] ]

命令参数:

-C 显示CPU使用情况

-d 显示磁盘使用情况

-k 以 KB 为单位显示

-m 以 M 为单位显示

-N 显示磁盘阵列(LVM) 信息

-n 显示NFS 使用情况

-p[磁盘] 显示磁盘和分区的情况

-t 显示终端和CPU的信息

-x 显示详细信息

-V 显示版本信息

常用方法:

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

iostat -d -x -k 1 10    #查看设备使用率(%util)、响应时间(await) 

iostat -c 1 10            #查看cpu状态 



案例分析:

[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

分析:

输出结果一KB为单位,每2秒收集一次信息,一共收集5次,xvda每秒传输次数为0.15,每秒读磁盘0.03KB,写磁盘0.87KB,取样读磁盘总数107088KB,写磁盘总数为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

  分析:

输出结果以KB为单位,每3秒收集一次,一共收集5次,每秒向磁盘上写5KB左右数据(wkB/s值),每秒约有1次IO操作(r/s+w/s),其中以写操作为主体,平均每次IO请求等待处理的时间为0.38毫秒,处理耗时为0.28 毫秒,等待处理的IO请求队列中,平均有0个请求驻留



[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%,优先级CPU利用率为0,系统CPU利用率约1.2%,IO挂起空闲百分比为0,虚拟CPU百分比约0.17,IO没有挂起空闲百分比约95%



单独使用

[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

单独执行iostat,显示的结果为从系统开机到当前执行时刻的统计信息

案例分析:

用户CPU利用率为3.96%,优先级用户CPU利用率为0,系统CPU利用率为1.21%,IO挂起空闲时间百分比为0,虚拟CPU时间百分比为0.11%,IO没有挂起空闲时间百分比为94.71,xvda每秒传输次数为0.15,每秒读磁盘0.05,写磁盘1.75,取样读磁盘总数为214177,写总数为6868520

最上面指示系统版本、主机名和日期

avg-cpu: 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值

%user : 显示了在执行用户(应用)层时的CPU利用率

%nice : 显示了在以nice优先级运行用户层的CPU利用率

%system : 显示了在执行系统(内核)层时的CPU利用率

%iowait : 显示了CPU在I/O请求挂起时空闲时间的百分比

%steal : 显示了当hypervisor正服务于另外一个虚拟处理器时无意识地等待虚拟CPU所占有的时间百分比。

%idle : 显示了CPU在I/O没有挂起请求时空闲时间的百分比

Device: 各磁盘设备的IO统计信息

Device: 设备名称

tps: 设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。“一次传输”请求的大小是未知的。

Blk_read/s: 每秒读扇区数量(一扇区为512bytes)

Blk_wrtn/s: 每秒写扇区数量

Blk_read: 取样时间间隔内读扇区总数量

Blk_wrtn: 取样时间间隔内写扇区总数量

如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。

指定采样时间间隔与采样次数

指定iostat命令的采样间隔和采样次数:每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每秒传输次数为0.15,每秒读磁盘为0.05,写磁盘为1.75,取样读磁盘总数为214177,写磁盘为6869944

以kB为单位显示读写信息(-k选项)

使用-k选项,指定iostat的部分输出结果以kB为单位,而不是以扇区数为单位:

[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为单位,相比以扇区数为单位,这里的值为原值的一半(1kB=512bytes*2)

(-m选项)以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

更详细的io统计信息(-x选项)

为显示更详细的io设备统计信息,我们可以使用-x选项,在分析io瓶颈时,一般都会开启-x选项:

[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: 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并

wrqm/s: 每秒对该设备的写请求被合并次数

r/s: 每秒完成的读次数

w/s: 每秒完成的写次数

rkB/s: 每秒读数据量(kB为单位)

wkB/s: 每秒写数据量(kB为单位)

avgrq-sz:平均每次IO操作的数据量(扇区数为单位)

avgqu-sz: 平均等待处理的IO请求队列长度

await: 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)

svctm: 平均每次IO请求的处理时间(毫秒为单位)

%util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率

 对于以上示例输出,我们可以获取到以下信息:

每秒向磁盘上写7M左右数据(wkB/s值)

每秒有55次IO操作(r/s+w/s),其中以写操作为主体

平均每次IO请求等待处理的时间为18.52毫秒,处理耗时为0.94 毫秒

等待处理的IO请求队列中,平均有1.02个请求驻留

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

如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。如果avgqu-sz比较大,也表示有大量io在等待。

获取cpu部分状态值 (-c选项)

[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选项)

[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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容