linux 性能优化之 iostat

iostat  被常用于 分析 linux 磁盘IO的使用情况

下面我来 分享一下 iostat 的 日常使用 

 

[root@localhost ~]# iostat --help

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

Options are:

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

[ -j { ID | LABEL | PATH | UUID | ... } ] [ --human ] [ -o JSON ]

[ [ -H ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ]

[ <device> [...] | ALL ]

其中

options 为操作项

interval 指定统计时间间隔

count 总共输出次数

 

 

-c 参数, 可以用来查看 cpu 状态信息

[root@localhost ~]# iostat -c

Linux 3.10.0-862.el7.x86_64 (localhost.localdomain) 12/22/18 _x86_64_ (2 CPU)

 

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

0.19 0.00 0.79 0.48 0.00 98.54

其中

%user CPU 在用户态执行进程的时间 百分比

%nice CPU 在用户态模式下,用于nice 操作,所占用CPU总时间的百分比

%system CPU处在内核态执行进程的时间百分比

%iowait CPU用于等待I/O操作占用CPU总时间的百分比

%steal 管理程序(hy)为另一个虚拟进程提供服务而等待虚拟CPU的百分比

%idle CPU空闲时间百分比

 

 

 

-k 参数 ,是将 block 为单位 的 列 强制 转化为 kb单位

相隔2 秒 时间 输出一次,一共5次

iostat -k 2 5

Linux 3.10.0-862.el7.x86_64 (localhost.localdomain) 12/22/18 _x86_64_ (2 CPU)

 

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

0.16 0.00 0.65 0.39 0.00 98.80

 

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

sda 7.98 182.93 9.17 117530 5888

sdb 0.67 19.99 0.00 12846 0

dm-0 4.45 137.56 5.98 88380 3840

dm-1 0.15 3.47 0.00 2228 0

 

 

-d 参数 , 显示磁盘 使用状态

iostat -d -k 1 3

Linux 3.10.0-862.el7.x86_64 (localhost.localdomain) 12/22/18 _x86_64_ (2 CPU)

 

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

sda 6.84 156.81 7.86 117530 5888

sdb 0.58 17.14 0.00 12846 0

dm-0 3.81 117.91 5.12 88380 3840

dm-1 0.13 2.97 0.00 2228 0

其中:

tps : 该设备 每秒 IO 的次数

kB_read/s:每秒从设备(drive expressed)读取的数据量;

kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;

kB_read:读取的总数据量;kB_wrtn:写入的总数量数据量;

这些单位都为Kilobytes。

 

 

-x 参数,输出更多详细信息

iostat -x -k 1 3

Linux 3.10.0-862.el7.x86_64 (localhost.localdomain) 12/22/18 _x86_64_ (2 CPU)

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

0.10 0.00 0.43 0.25 0.00 99.22

 

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

sda 0.02 0.02 4.91 0.17 115.92 5.90 48.00 0.02 3.48 3.54 1.81 1.39 0.71

sdb 0.00 0.00 0.42 0.00 12.65 0.00 59.61 0.00 0.29 0.29 0.00 0.25 0.01

dm-0 0.00 0.00 2.66 0.19 87.22 3.88 64.08 0.02 5.94 6.23 1.68 2.38 0.68

dm-1 0.00 0.00 0.09 0.00 2.19 0.00 47.40 0.00 0.16 0.16 0.00 0.07 0.00

其中

rrqm/s : 每秒这个设备相关的读取请求有多少被merge(merge 的意思是 读取相同位置的多个请求被合并为一个请求)

wrqn/s : 每秒这个设备相关的写请求有多少被merge

rsec/s: 每秒读取的扇区数

wsec/s: 每秒写入的扇区数

await : 每一个IO请求的处理的平均时间(单位是毫秒), 这里可以理解为IO的响应时间

%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。


 

 

 

 

参考 资料

https://www.cnblogs.com/xiuluo--angel/p/7086637.html

https://blog.youkuaiyun.com/xusensen/article/details/73080887

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值