iostat用于输出CPU和磁盘I/O相关的统计信息. 
命令格式:

iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [ ... ] | ALL ] [ -p [ device | ALL ]  ]
[ interval [ count ] ]
-c 仅显示CPU统计信息.与-d选项互斥.
-d 仅显示磁盘统计信息.与-c选项互斥.
-k 以K为单位显示每秒的磁盘请求数,默认单位块.
-p device | ALL
与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如:
# iostat -p hda
或显示所有设备
# iostat -p ALL
-t 在输出数据时,打印搜集数据的时间.
-V 打印版本号和帮助信息.
-x 输出扩展信息.
常用:
iostat -dx 1
iostat

rrqm/s:read request merge将读入请求合并后,每秒发送到设备的读入请求数.读取时等几秒过程中,有多少块是连续的,连续的块将merge一起来读取;这个可以看到业务的关系,是不是连续的读,越大说明越多连续读。
wrqm/s:将写入请求合并后,每秒发送到设备的写入请求数,也能说明业务关系,当该值很大时,说明可以考虑将块划分大一点。
r/s:每秒读取的次数。
w/s:每秒写入的次数。
rkB/s:读取多少kB每秒。
wkB/s:写入多少kB每秒。
avgrq-sz:average request size 发送到设备的请求的平均大小,单位是扇区,一个扇区一般为512B,16个扇区为8KB。上述就是438*=。
avgqu-sz:发送到设备的请求的平均队列长度
await:I/O请求平均执行时间.包括发送请求和执行的时间.单位是毫秒。
r_await:读的平均耗时。
w_await:写入平均耗时。
svctm:发送到设备的I/O请求的平均执行时间.单位是毫秒。
%util:队列不为空的占比,一定程度可以反映系统是否繁忙。在I/O请求发送到设备期间,占用CPU时间的百分比.用于显示设备的带宽利用率。
Blk_read:读入块的当总数.
Blk_wrtn:写入块的总数.
kB_read/s:每秒从驱动器读入的数据量,单位为K.
kB_wrtn/s:每秒向驱动器写入的数据量,单位为K.
kB_read:读入的数据总量,单位为K.
kB_wrtn:写入的数据总量,单位为K.
rsec/s:每秒从设备读入的扇区数.
wsec/s:每秒向设备写入的扇区数.

await的大小一般取决于服务时间(svctm) 以及 I/O 队列的长度和 I/O 请求的发出模式。
如果 svctm 比较接近 await,说明I/O 几乎没有等待时间;
如果 await 远大于 svctm,说明 I/O队列太长,应用得到的响应时间变慢,
如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,调整内核 elevator算法,优化应用,或者升级 CPU。
队列长度(avgqu-sz)也可作为衡量系统 I/O 负荷的指标,但由于 avgqu-sz 是按照单位时间的平均值,所以不能反映瞬间的 I/O 洪水

svctm:每次io设备的服务时间(毫秒),它的大小一般和磁盘性能有关:CPU/内存的负荷也会对其有影响,请求过多也会间接导致 svctm 的增加

%util:处理io操作的cpu比例,如果这个着接近100%,说明io请求非常多,cpu的所有时间都用来处理io请求,io系统负载很大(也有可能cpu资源不足),磁盘可能存在瓶颈;在%util等于70%的时候,io的读取就会有很多等待。



~$ iostat -dx
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
zfsds0 0.00 0.00 0.00 438.00 0.00 3504.00 16.00 1.00 4.57 0.00 2.28 2.28 100.00

iostat

~$ iostat 

第一部分包含了CPU报告

%user : 显示了在执行用户(应用)层时的CPU利用率
%nice : 显示了在以nice优先级运行用户层的CPU利用率
%system : 显示了在执行系统(内核)层时的CPU利用率
%iowait : 显示了CPU在I/O请求挂起时空闲时间的百分比
%steal : 显示了当hypervisor正服务于另外一个虚拟处理器时无意识地等待虚拟CPU所占有的时间百分比。
%idle : 显示了CPU在I/O没有挂起请求时空闲时间的百分比
第二部分包含了设备利用率报告 Device : 列出的/dev 目录下的设备/分区名称
tps : 显示每秒传输给设备的数量。更高的tps意味着处理器更忙。
Blk_read/s : 显示了每秒从设备上读取的块的数量(KB,MB)
Blk_wrtn/s : 显示了每秒写入设备上块的数量(KB,MB)
Blk_read : 显示所有已读取的块
Blk_wrtn : 显示所有已写入的块
 
 

最新文章

  1. thinkPHP实现静态页的方法-buildHtml
  2. Java 中的instanceof简单讲解
  3. ajax 跨域 headers JavaScript ajax 跨域请求 +设置headers 实践
  4. 颜色缩减(带Trackbar)【从毛星云Opencv3编程入门P75 P111例程改编】
  5. wxpython 中 用鼠标拖动控件 总结
  6. 《Python 学习手册4th》 第十三章 while和for循环
  7. android 29 ArrarAdapter数组适配器
  8. Eclipse中如何安装和使用GrepCode插件
  9. 转: 关于异步promises
  10. php回传ajax数据
  11. php cookies自动登录
  12. 腾讯云微计算实践:从Serverless说起,谈谈边缘计算的未来
  13. Beta 第五天
  14. Leetcode解题-链表(2.2.3)PartitionList
  15. 安装percona-toolkit工具时遇到的问题
  16. Elasticsearch拼音和ik分词器的结合应用
  17. psdTohtml
  18. 非常精简的Linux线程池实现(一)——使用互斥锁和条件变量
  19. svn 版本管理与自动部分发布
  20. 初识PHP(四)PDO对象配置于使用

热门文章

  1. JavaScript 函数,math对象,Date对象 序列化 总结
  2. T25健身视频全集+课表
  3. 在python中打开文件显示没有权限PermissionError: [Errno 13] Permission denied:
  4. sql 转
  5. h5新特性--- 多媒体元素
  6. 解决 SMTP Error: Could not connect to SMTP host. 问题
  7. 华为交换机S5700系列配置通过STelnet登录设备示例
  8. Win10易升是什么?如何彻底关闭Windows10易升?
  9. no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
  10. Web性能优化——缓存