iostat,Linux上实时查看磁盘IO状态的工具,也是IO监控方面的入门工具,相信很多人都会用到。这里做个小总结归档,以防日后不用生疏。iostat 数据来源/proc/stat .

iostat 工具具体用法可以通过man  iostat 查看,以下只是演示和分析结果参数。

Linux 上执行: iostat -kx 2 

截取片段如下:


每个字段都是什么意思?

rrqm/s

每秒进行merge的读操作数目。文件读的IO操作合并。

wrqm/s

每秒进行merge的写操作数目。文件写的IO操作合并。

r/s

每秒完成的读I/O设备次数。

w/s

每秒完成的写I/O设备次数。

rsec/s

每秒读扇区数。

rkB/s

每秒读K字节数。

wkB/s

每秒写K字节数。

avgrq-sz

平均每次设备I/O操作的数据大小(扇区)。

avgqu-sz

平均I/O队列长度。

await

平均每次设备I/O操作的等待时间(毫秒)。

svctm

平均每次设备I/O操作的服务时间(毫秒)。

%util

一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的。

如何深度的理解各个阶段的参数? 下图给了很好的说明:

上图的左边是iostat显示的各个性能指标,每个性能指标都会显示在一条虚线之上,这表明这个性能指标是从虚线之上的那个读写阶段开始计量的,比如说图中的w/s从Linux IO scheduler开始穿过硬盘控制器(CCIS/3ware),这就表明w/s统计的是每秒钟从Linux IO scheduler通过硬盘控制器的写IO的数量。

结合上图对读IO操作的过程做一个说明,在从OS Buffer Cache传入到OS Kernel(Linux IO scheduler)的读IO操作的个数实际上是rrqm/s+r/s,直到读IO请求到达OS Kernel层之后,有每秒钟有rrqm/s个读IO操作被合并,最终转送给磁盘控制器的每秒钟读IO的个数为r/w;在进入到操作系统的设备层(/dev/sda)之后,计数器开始对IO操作进行计时,最终的计算结果表现是await,这个值就是我们要的IO响应时间了;svctm是在IO操作进入到磁盘控制器之后直到磁盘控制器返回结果所花费的时间,这是一个实际IO操作所花的时间,当await与svctm相差很大的时候,我们就要注意磁盘的IO性能了;而avgrq-sz是从OS Kernel往下传递请求时单个IO的大小,avgqu-sz则是在OS Kernel中IO请求队列的平均大小。


如何评估磁盘性能,iostat 我们重点看那些参数?

磁盘性能的评估通常通过iops , 吞吐率 ,如 小文件的随机读写我们看中它的iops ,大文件的顺序读写,我们看中它的传输速度,也就是吞吐率或吞吐量。

iops = r/s + w/s

吞吐率 = rkB/s + wkB/s

除iops,吞吐量之外,另外比较重要的还有时延,await , svctm 这两个参数。

平均每次IO操作大小 :avgrq-sz  (扇区),如: 55 *512/1024 KB . 另外也可以通过 rkB/s 除 r/s 或 wkB/s 除w/s 算得。

注意:

IO的响应时间会成非线性的增长,越是接近最大值,响应时间就变得越大,而且会比预期超出很多。负载%util也并非线性增长,一些异常也可以引发%util 瞬间100%

本文参考:

http://www.dbabeta.com/2009/io-performence-03_check-performence-in-linux.html

iostat 深入浅出相关推荐

  1. 深入浅出 eBPF: (Linux/Kernel/XDP/BCC/BPFTrace/Cillium)

    [BPF入门系列-1]eBPF 技术简介 | 深入浅出 eBPF[BPF入门系列-1]eBPF 技术简介https://www.ebpf.top/post/bpf_intro_blog/ 目录 eBP ...

  2. hd disk / disk raid / disk io / iops / iostat / iowait / iotop / iometer

    DISK IOPS / Input/Output Operations Per Second http://baike.baidu.com/view/2302083.htm IOPS (Input/O ...

  3. 【练拳不练功,到老一场空】深入浅出计算机组成原理

    深入浅出计算机组成原理 文章目录 深入浅出计算机组成原理 计算机的基本组成 硬件设备组成 CPU 内存 主板 I/O 设备 硬盘 显卡 冯.诺依曼体系结构 运算器/处理器单元 控制器 存储器 输入设备 ...

  4. Python --深入浅出Apriori关联分析算法(二) Apriori关联规则实战

    上一篇我们讲了关联分析的几个概念,支持度,置信度,提升度.以及如何利用Apriori算法高效地根据物品的支持度找出所有物品的频繁项集. Python --深入浅出Apriori关联分析算法(一) 这次 ...

  5. Linux IO实时监控iostat命令详解

    简介 iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息.用户可以通过指定统计的次数和时间 ...

  6. MSDN Webcast“深入浅出ASP.NET AJAX系列”

    课程: ASP.NET AJAX深入浅出系列课程(1):ASP.NET AJAX 概述(3月13日):对于ASP.NET AJAX的大致功能进行概述和演示,通过简单的演示让听众了解到ASP.NET A ...

  7. 5.3Role和Claims授权「深入浅出ASP.NET Core系列」

    5.3Role和Claims授权「深入浅出ASP.NET Core系列」 原文:5.3Role和Claims授权「深入浅出ASP.NET Core系列」 希望给你3-5分钟的碎片化学习,可能是坐地铁. ...

  8. 磁盘I/O 监控 iostat

    iostat -cdxm 2 5 dm-4 如果没有这个命令,需要安装sysstat 包. Usage: iostat [ options ] [ <interval> [ <cou ...

  9. 辩证看待 iostat

    旧博文,搬到 csdn 原文:http://rebootcat.com/2018/01/16/using-iostat-dialectically/ 前言 经常做系统分析会接触到很多有用的工具,比如 ...

最新文章

  1. 【转】js之iframe子页面与父页面通信
  2. xctf secret galaxy_三星SMARTTHINGS FIND正式发布 可帮助轻松查找GALAXY设备
  3. Android NFS文件系统挂载遇到的问题解决方法
  4. 工作中的小技巧(一)
  5. java random算法_负载均衡--随机算法(Random)
  6. HDU.1010 Tempter of the Bone
  7. Software Defined Perimeter白皮书
  8. matlab简单分析数字滤波器FIR
  9. 2018最新hadoop服务器环境配置教程(附详细步骤)
  10. 共享一个可用的谷歌相机
  11. WIN32汇编语言之通用对话框的使用
  12. mysql如何创建视图语句_创建视图的语句
  13. http的ssl证书保姆级配置安装-多域名 免费ssl证书 解析 nginx配置
  14. bootmgr快速修复win7_这可能是史上最简单的一键安装虚拟机win7系统了
  15. 北京-地点-文创-南锣鼓巷:南锣鼓巷
  16. 根目录在哪里 根目录下的目录有什么作用
  17. 计算机的音乐怎样弹生日快乐,5 分钟让你学会用吉他弹《生日快乐》歌
  18. 论文小技巧-pdf转eps使色彩保持RGB不变及去边框
  19. 高中计算机操作题frontpage步骤,一级计算机操作题步骤——Frontpage操作.docx
  20. 在路上●我的年轻●勇往直前●匆匆十年

热门文章

  1. 网站未安装SSL证书存在哪些安全风险?
  2. 亿都游戏有限公司开始招人啦
  3. java百分号的用法,Java String.format()方法中使用百分号'%'_栗子教程
  4. MySQL数据库介绍及特点分析
  5. ELYFI爱立丰 | 区块链将如何改善数据行业
  6. jquery 实现表格搜索功能
  7. 《数字经济》专访iPayLinks甄国钢:数字化让中国领跑世界朋友圈
  8. [附源码]Python计算机毕业设计SSM基于Java网上玩具商店(程序+LW)
  9. Centos7下安装RabbitMQ教程
  10. jpg等图片批量加页码。